参考致谢:https://blog.csdn.net/bamboo_cqh/article/details/72820700
https://blog.csdn.net/qq_40977118/article/details/111191381
1,背景:
Linux默认编码UFT-8,终端输出默认编码自然是UTF-8。
WINDOWS 默认编码GBK
WIN7中tomcat启动的控制台默认编码是GBK,一般软件默认采用系统默认字符集。
tomcat的应用一般常用的国际编码是utf-8,应用输出采用系统默认编码GBK,
所以乱码,再启动jvm时设置成-Dfile.encoding="UTF-8",应用乱码问题解决。
2,解决思路:
JAVA_OPTS 顾名思义,是用来设置JVM相关运行参数的变量
一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的是“catalina.bat start”命令。file.encoding跟操作系统默认字符集有关,Windows下默认的是GBK,但我们程序一般IO流中字符编码一般都设置的是utf-8,这样会导致中文乱码。因此需要修改file.encoding为UTF-8.
3,具体操作:
a)在catalina.bat上添加如下:
set JAVA_OPTS=-Dfile.encoding=UTF-8
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%" -Dfile.encoding="UTF-8" (大约在212行)
b)设置eclipse->preferences->general->workspace->设置Text file encoding为UTF-8