原因: springmvc在处理请求时,默认采用的是 ISO-8859-1 编码格式。所以在处理一些json格式的时候,会出现中文乱码。我在用jquery datatable 使用ajax的方式 渲染表单的时候,就遇到这个情况。特此记录一下
org.springframework.http.converter.StringHttpMessageConverter类是处理请求或相应字符串的类,并且默认字符集为ISO-8859-1,所以在当返回json中有中文时会出现乱码。
解决办法,只需在配置文件spring-mvc.xml中加入如下代码:
<!-- 处理请求时返回json字符串的中文乱码问题 -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>