一.发现问题
启动项目后,发现部分页面会出现中文乱码的问题。后面定位到是js文件中文乱码的问题。
二.解决问题
搜索到的解决方案有大概有以下这几种:
1.修改Tomcat目录下的conf/server.xml文件:
在<Connector>
标签中增加URIEncoding="UTF-8"
2.修改Tomcat目录下的conf/web.xml文件:
在htm和html中加入;charset=utf-8
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html;charset=utf-8</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=utf-8</mime-type>
</mime-mapping>
3.修改Tomcat目录下的bin/catalina.bat文件
(但这其实是针对Windows系统的,忽略)
4.修改Tomcat目录下的bin/catalina.sh文件:
在JAVA_OPTS=“”
中增加 -Dfile.encoding=UTF8
5.修改代码中引用js时的编码
引用js文件时增加charset="utf-8"
<script type="text/javascript" charset="utf-8" src="xxx.js"></script>
6.修改Linux的默认编码
这里只是针对centos7,不同的版本可能会有不一样的方法。
修改/etc/profile文件:
增加export LC_ALL=zh_CN.UTF-8
将系统编码改为utf-8的格式
编辑保存后用source /etc/profile
或者 ./etc/profile
,执行一下文件使环境变量生效。
三.解决问题
经过一番操作后发现第4种方法对于我部署的系统有效,通过js生成的中文能正常显示了。
以上就是收集到的一些解决中文乱码的方法,不同的环境不同的项目可能会有不一样的情况。
大家可以将每种方法都尝试一下。