首页 > 代码库 > SpringMVC Ajax请求时返回json中文字符串的乱码问题的解决方案

SpringMVC Ajax请求时返回json中文字符串的乱码问题的解决方案

1.org.springframework.http.converter.StringHttpMessageConverter类是处理请求或相应字符串的类,并且默认字符集为ISO-8859-1,所以在当返回json中有中文时会出现乱码。

2.StringHttpMessageConverter的父类里有个List<MediaType> supportedMediaTypes属性,用来存放StringHttpMessageConverter支持需特殊处理的MediaType类型,如果需处理的MediaType类型不在supportedMediaTypes列表中,则采用默认字符集。

3.解决办法,只需在配置文件中加入如下代码:

<!-- springmvc传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>

4.如果需要处理其他 MediaType 类型,可在list标签中加入其他value标签