服务器读取本地json文件中文乱码

从本地的java里读取本地json文件的json数据,然后打印输出就正常。部署在服务器上的后台java读取打印输出就中文乱码,当然传给网页的也是乱码,为什么都是打印输出,代码也一样为啥会乱码呢?
img

img

在服务器后台打印乱码可能是因为,控制台问题。控制台不支持这个编码。
传给前端也是乱码。
这个乱码我不知道你是怎么查看的。是直接查看网络请求返回的数据吗。
前端你可以在控制台打印看看是不是乱码。
也可以试试在页面上显示这个乱码。
有的时候,前端请求的数据里有中文,的确会有乱码的情况。不过一般只是在网络请求里看到中文是乱码,在控制台打印是正常显示的。在页面上使用也是正常。
如果还是乱码 前端你可以用 decodeURIComponent 方法转码

var str = decodeURIComponent('乱码的字符')

首先你看下文件的编码是不是采用UTF-8编码(具体可以在文本编辑器如notepad++中设置),之后再看下返回给网页端的HTTP HEADER里面是否设置content-type:application/json;charset=utf8 。如果还是乱码,再试下使用指定编码构造String字符串。编码问题总是很麻烦,希望对你有帮助。

检查一下服务器上Tomcat的server.xml文件有没有设置UTF-8编码,即 URIEncoding="UTF-8"

具体如下:

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>