Springmvc返回JSON格式到頁面中文亂碼問題
阿新 • • 發佈:2018-07-21
spa com prope edm rop prop tps 編碼 我們
我是通過@ResponseBody註解的方式實現json格式傳到頁面的方法。首先查看源代碼如下圖,springmvc的默認編碼是“ISO-8859-1”;
而我們通常編碼都是使用UTF-8,
所以我們需要在springmvc的註解配置中處理json格式的時候應該修改一下默認的編碼格式。
springmvc配置文件中代碼如下:
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
我們在使用基礎的Servlet解決的時候是給HttpServletResponse類對象的追加一個application/json;charset=UTF-8。
在這裏只配置一個application/json;charset=UTF-8是不行的。
必須同時配置
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
至於解釋,大佬這樣說的:
SpringMVC 是按照message-converters 裏面配置的處理數據格式的,配置了2個消息轉換器 Jackson 和 字符串,
這2個消息轉換器都是Spring自帶的。
Springmvc返回JSON格式到頁面中文亂碼問題