Tomcat在Windows下控制台乱码

原网址 https://juejin.im/post/5bb23cc15188255c5121d499 实在感谢

项目在Linux下运行没有任何问题,搬运到Windows机器上就出现了中文乱码的问题,因为需要连接ssh查询一些数据,而碰到中文乱码时程序会崩溃。

一开始以为是java文件的编码问题,后来以为是ssh查询到的结果编码有问题,搞了几天才发现是Windows下的Tomcat控制台中文一直是乱码。最终通过上面的网址解决了问题。

真正的步骤只有一步,就是修改注册表:由于使用 startup.bat 启动 Tomcat 时,它会读取 catalina.bat 的代码并 start 一个新窗口运行,但 tomcat 打开的 cmd 默认编码不是 utf-8,从而导致乱码。

解决方法:

控制台部分:打开注册表,按路径 HKEY_CURRENT_USER→Console→Tomcat(一般解压版的 Tomcat 在 console 目录下不会有 Tomcat 这一项,因此需要手动创建),找到 CodePage 项,没有则创建(注意创建的时候要 DWORD32 位),设置值为十进制的 65001。

或直接复制下面代码,保存为任意名.bat 文件,直接运行。

set rr="HKCU\Console\Tomcat"
reg add %rr% /v "CodePage" /t REG_DWORD /d 0x0000fde9 /f>nu

这里推荐使用运行.bat 文件方式,比较简单。

进行完上述操作后,重新运行 startup.bat,在新弹出 cmd 窗口标题栏上右键,点击属性,显示如下
在这里插入图片描述
若当前代码页显示为 65001 则修改成功。

猜你喜欢

转载自blog.csdn.net/qq_32115939/article/details/103142253