标签:utf-8 convert $.ajax message 属性 字符集 自己 static pos
1:最快的 最简单的办法是 在Ajax请求脸面指定头信息Accept属性,StringHttpMessageConverter默认iso-8859-1编码,但是会根据请求头信息指定的编码格式来转换,所以只需要在ajax请求的时候指定头信息Accept属性就可以了。
$.ajax({ url: subUrl, type: ‘POST‘, data: formData, cache: false, contentType: false, processData: false, headers: {Accept : "text/plain; charset=utf-8"}, success: function (rs){ alert(rs); }, error: function (rs){ alert(rs); } });
2:spring MVC有一系列HttpMessageConverter去处理用@ResponseBody注解的返回值,如返回list则使用MappingJacksonHttpMessageConverter,返回string,则使用StringHttpMessageConverter,这个convert使用的是字符集是iso-8859-1,而且是final的。
public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");
自己重写一个StringHttpMessageConverter,使用你想要的字符集,并且使这个属性可注入。
3:不使用String直接返回对象就不会乱码了
标签:utf-8 convert $.ajax message 属性 字符集 自己 static pos
原文地址:http://www.cnblogs.com/jype/p/7895956.html