40、spring ajax/easyui 中文乱码的解决
使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的??,研究了一下,有几种解决办法。
方法一:
在@RequestMapping里面加入produces="text/html;charset=UTF-8"
@RequestMapping(value="/json_test",produces="text/html;charset=UTF-8")
方法二:
因为在StringHttpMessageConverter里面默认设置了字符集是ISO-8859-1
所以拿到源代码,修改成UTF-8并打包到spring-web-*.jar
public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> { public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); .......... }
方法三:
修改org.springframework.http.MediaType它的构造方法的参数,并在applicationContext-mvc.xml加入配置
publicMediaType(Stringtype,Stringsubtype,Charsetcharset){
super(type,subtype,charset);
}
<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <bean class="org.springframework.http.MediaType"> <constructor-arg value="text" /> <constructor-arg value="plain" /> <constructor-arg value="UTF-8" /> </bean> </list> </property> </bean>
方法四:
直接将org.springframework.http.converter.StringHttpMessageConverter里面的属性defaultCharset设置成utf-8
<beanid="stringHttpMessageConverter"class="org.springframework.http.converter.StringHttpMessageConverter">
<propertyname="defaultCharset"value="UTF-8"/>
</bean>
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo