window服务器tomcat接收中文乱码问题

阅读更多
新部署的window2008服务器,虽然tomcat server.xml中已经配置utf8,代码也一直没变是utf8的,但是之前linux服务器里部署接收中文正常,换到windows服务器就不行。

nginx里也添加设置里utf8依然没用,折腾了很久,原来是操作系统默认字符集有关,Windows下默认的是gbk,但我们程序一般IO流中字符编码一般都设置的是utf-8,这样会导致中文乱码。
因此需要修改file.encoding为utf-8.如果应用容器是tomcat,可参考如下修改方法

注意:引号"的位置以及是否为英文半角引号".

windows

  修改catalina.bat

  tomcat7以下:

  set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%的后面加上 -Dfile.encoding="UTF-8"

  tomcat7:

  set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding="UTF-8"


Linux

  修改catalina.sh

JAVA_OPTS="-Dfile.encoding=UTF-8"

转自:https://blog.csdn.net/u012816777/article/details/77773088


上述设置后tomcat接收中文正常了,但是命令行窗口的日志输出显示中文又乱码了

解决Windows 10 Tomcat命令行窗口中文乱码:
原文:https://blog.csdn.net/quqtalk/article/details/86517814
1.运行 regedit
2.进入HKEY_CURRENT_USER\Console\Tomcat,如果没有Tomcat则新建。然后按照下图新建CodePage项
3.输入值,点确认,再次启动Tomcat,中文日志就可以正常显示
4.具体原理参照https://blog.csdn.net/chy555chy/article/details/78355985

新建注册表后,重启窗口变成正常了。

你可能感兴趣的:(window服务器tomcat接收中文乱码问题)