javascript
Spring下@ResponseBody响应中文内容乱码问题
引言: 在JQuery的Ajax請求中,收到的基于后臺返回回來的結果出現亂碼,在后臺其內容正確,到了前臺之后,確是亂碼??????,該怎樣解決呢?
1.? 問題的提出
??? 前端基于JQuery的Ajax進行頁面請求,可是收到的響應信息中的中文確是亂碼;后臺使用了基于Spring的@ResponseBody來對響應結果進行了封裝。
2. 分析問題
??? 2.1? JQuery前端排除
??????? 基于查看,JQuery的前端Ajax請求默認的都是基于UTF-8的請求,指定與否不影響結果信息。
??????? 假設堅持要加,在前端javaScript代碼中添�:
?????? contentType: "application/x-www-form-urlencoded; charset=utf-8",
??? 2.2 后端Spring配置信息的分析
??????? 后端使用了例如以下配置來進行JacksonMapping信息的映射:
3. 問題的解決
??? 在RequestMappingHandlerAdapter中添�StringHttpMessageConverter來進行信息的編碼轉換:
4.? 應用配置,問題解決
???? 改動配置信息,重新啟動系統,然后就能夠在系統中看到正常的頁面顯示信息了。
總結分析:
???? spring從3.0開始提供一個HttpMessageConverter<T>接口,這個接口相當實用,spring能夠針對Http報文頭的ContentType來調用該類的默認實現類將請求和響應進行對應的轉換。用戶能夠基于這個接口實現對Request和Response的精細化控制和管理。
????
總結
以上是生活随笔為你收集整理的Spring下@ResponseBody响应中文内容乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 随机算法总结
- 下一篇: php 之 post json 数据