为了账号安全,请及时绑定邮箱和手机立即绑定

ajax返回值 json 乱码 解决方案

标签:
Java

ajax的返回值一直乱码,

试过各种ContentType设定utf-8的方法,就是搞不定,

而且明明返回值是json字符串,一直出现ajax取得返回值类型为object。


最后查资料发现,

SpringMVC使用 @ResponseBody注解,返加字符串不做任何处理时,有可能会出现乱码问题。

这是由于 StringHttpMessageConverter 类中,默认采用的字符集是 ISO-8859-1。

public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> {           public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");


解决办法:


    那么要解决乱码问题,需要改变 StringHttpMessageConverter 中的默认字符集,本文中以UTF-8为例。

   

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">        <property name="messageConverters">            <list>                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">                    <property name="supportedMediaTypes">                        <list>                            <value>text/html;charset=UTF-8</value>                            <value>text/plain;charset=UTF-8</value>                            <value>application/json;charset=UTF-8</value>                        </list>                    </property>                </bean>            </list>        </property>    </bean>        <!-- mvc:annotation-driven/-->    <mvc:annotation-driven validator="validator"/>
注:配置必须在 <mvc:annotation-driven /> 之前,否则将不会启效;<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping 与AnnotationMethodHandlerAdapter。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消