最近在学习 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

在这里插入图片描述

所以在转换时出错了,需要我们自定义消息转换器。。

参考博客:https://www.cnblogs.com/zfding/p/8321303.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐