解决 : 后台向前台传输 json中文数据引起的乱码问题
·
最近在学习 Echarts 时需要从后台向前台传输数据,传输数据时中文是不可避免的一个问题。中文数据又难免会遇到一个乱码的问题(气人),如果是之前,乱码就乱码吧,反正不影响我看的效果,哈哈,但是现在不一样了,得朝着更加优秀的方向搞,拒绝拖延,搞!
(前面是我自己遇到的现象描述,解决方法在下方,可直接向下拉)
乱码是什么样子?

难看吧,及其难看,这就是乱码导致的问题,真实的效果是什么样呢,我们都先换成英文看看:

显而易见,解决乱码问题之后多么舒服。
解决方式:
在遇到这个问题时从网上找了很多方法,大多是在 Controller 层的 方法中加入下列内容:

那么,运气不好呢?
很幸运,博主就是那个不幸的人,然后翻翻翻,终于找到了一篇博客,进而解决了这个问题(文末附有地址)。
在 spring -mvc.xml 中添加如下代码:自定义消息转换器。
<!-- 注解驱动 -->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter" >
<property name = "supportedMediaTypes">
<list>
<value>application/json;charset=utf-8</value>
<value>text/html;charset=utf-8</value>
</list>
</property>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" >
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
问题就可以得到完美解决啦!希望能帮你彻底解决乱码问题。

虽然问题已经得到一个妥善的解决,但是我们还是要搞清楚是哪里出了问题。。。
打开字符消息转换器来查看下。可以看出字符串转换器默认的编码式iso-8859-1

所以在转换时出错了,需要我们自定义消息转换器。。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)