随笔 | Tomcat:续-从Linux迁移到Windows编码问题彻底解决
前言
继上条博文 将Tomcat、MySQL从Linux迁移到Windows的心路历程(干货):令人恐惧的字符编码 后,我发现控制台随后仍出现了一些乱码,并不受到在conf/logging.properties文件修改GBK后的影响,它输出的仍是UTF-8,导致控制台仍然蓝屏。
排查方向
这次的错误排查,我换了个方向,上一次是针对修改Tomcat的配置,这一次是在不变动Tomcat配置的情况下,让Windows适应其配置。
解决问题
控制台编码
了解系统的朋友可能都知道,Windows的控制台默认使用GBK编码,而类Unix系统使用的大都是UTF-8编码,这也就导致了中文乱码的发生。
那么如何将Windows的控制台修改为UTF-8编码呢?
引用 https://blog.csdn.net/qq_34273222/article/details/83508671:
1在运行中通过regedit进入注册表
2找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
3新建-字符串值,命名autorun,右键修改:数值数据填写 “chcp 65001”,确定并重启计算机。
在设置后,每个命令行执行前都会执行一次chcp 65001
,将默认的编码修改为UTF-8。
本窗口运行
但我发现,Tomcat的startup.bat
运行后,会额外弹出一个窗口,这个窗口使用Java控制台来运行Tomcat,而不是使用系统的控制台,那么我们需要修改一下startup.bat
中的配置让Tomcat在当前控制台中运行:
引用 https://www.cnblogs.com/javaeye235/p/5552190.html:
1window下tomcat在当前窗口启动,不在一个新的窗口启动
2startup.bat
3中最下几行
4goto setArgs
5:doneSetArgs
6call "%EXECUTABLE%" start %CMD_LINE_ARGS%
7:end
8----------
9把start改为run
10call "%EXECUTABLE%" run %CMD_LINE_ARGS%
后语
再次运行Tomcat,编码问题成功解决,不需要配置繁琐的配置文件了。
如转载请在文章尾部添加:
原作者来自 adlered 个人技术博客:https://www.stackoverflow.wiki/
😳 What?
小狼狗