SpringMVC返回的ResponseEntity出現(xiàn)亂碼及解決
返回ResponseEntity亂碼
問(wèn)題
前臺(tái)通過(guò)數(shù)據(jù)到后臺(tái)查詢相關(guān)數(shù)據(jù),結(jié)果是后臺(tái)返回的數(shù)據(jù)出現(xiàn)中文出現(xiàn)亂碼,如下圖所示
原因
對(duì)于String類型,在沒(méi)有在代碼中明確指定編碼類型的情況下,可能后臺(tái)對(duì)傳輸?shù)臄?shù)據(jù)沒(méi)有正確編碼(本人的猜測(cè),時(shí)間有限,后面有時(shí)間會(huì)跟下源碼和看看文檔,發(fā)現(xiàn)真正的原因)
解決
將String類型改為用戶自定義的Pojo,如User等,或者改為L(zhǎng)ist這些比較高級(jí)一點(diǎn)的數(shù)據(jù)類型。然后通過(guò)@ResponseBody進(jìn)行序列化,中文亂碼問(wèn)題解決,如下圖所示。
ResponseEntity下載文件名中文亂碼
SpringBoot下載文件,文件名帶了中文出現(xiàn)亂碼
代碼如下:
return ResponseEntity.ok() .header("Content-disposition", "attachment;filename=" + fileName) .contentLength(file.length()) .contentType(MediaType.parseMediaType("application/octet-stream")) .body(resource);
解決辦法
給文件名進(jìn)行編碼:
fileName = new String(fileName.getBytes("UTF-8"),"ISO-8859-1");
問(wèn)題解決
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 解決springboot responseentity<string>亂碼問(wèn)題
- 使用ResponseEntity作為的返回值的應(yīng)用
- 常用的ResponseEntity.BodyBuilder和自定義ResponseEntity的實(shí)例
- springmvc @ResponseStatus和ResponseEntity的使用
- SpringMVC使用ResponseEntity實(shí)現(xiàn)文件上傳下載
- 使用spring框架ResponseEntity實(shí)現(xiàn)文件下載
- 如何使用spring ResponseEntity處理http響應(yīng)
- 使用ResponseEntity處理API返回問(wèn)題
相關(guān)文章
springboot+mybatis攔截器方法實(shí)現(xiàn)水平分表操作
這篇文章主要介紹了springboot+mybatis攔截器方法實(shí)現(xiàn)水平分表操作,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08jdk-logging?log4j?logback日志系統(tǒng)實(shí)現(xiàn)機(jī)制原理介紹
這篇文章主要介紹了jdk-logging、log4j、logback日志介紹以及三個(gè)日志系統(tǒng)的實(shí)現(xiàn)機(jī)制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03Java實(shí)現(xiàn)雙向鏈表(兩個(gè)版本)
這篇文章主要介紹了Java實(shí)現(xiàn)雙向鏈表(兩個(gè)版本)的相關(guān)資料,需要的朋友可以參考下2016-02-0216個(gè)SpringBoot擴(kuò)展接口的總結(jié)和實(shí)例
Spring Boot是一個(gè)開(kāi)源的Java框架,它簡(jiǎn)化了基于Spring的應(yīng)用程序的開(kāi)發(fā)和部署,它提供了許多強(qiáng)大的特性和擴(kuò)展接口,本文給大家介紹了16個(gè)常用的Spring Boot擴(kuò)展接口,需要的朋友可以參考下2023-09-09SpringBoot使用@Cacheable時(shí)設(shè)置部分緩存的過(guò)期時(shí)間方式
這篇文章主要介紹了SpringBoot使用@Cacheable時(shí)設(shè)置部分緩存的過(guò)期時(shí)間方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12關(guān)于注解式的分布式Elasticsearch的封裝案例
這篇文章主要介紹了關(guān)于注解式的分布式Elasticsearch的封裝案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01一篇文章掌握J(rèn)ava?Thread的類及其常見(jiàn)方法
Thread類用于操作線程,是所以涉及到線程操作(如并發(fā))的基礎(chǔ)。本文將通過(guò)代碼對(duì)Thread類的功能作用及其常見(jiàn)方法進(jìn)行分析2022-03-03