记录Windows系统部署Tomcat与项目中出现的中文乱码与几个解决方案


emm,反正就不管各种原因吧,系统就是要在Windows上部署。


  • Windows 10 操作系统
  • Tomcat 8.5
  • 项目是UTF-8编码

相信来到这篇文章的朋友,应该是遇到同样问题的,在idea中测试挺好,打包带走,tomcat,启动,come on !

启动正常,打开页面,what?中文乱码了。

页面显示中的中文乱码?前后端交互中文乱码?还是全部中文都乱码?

其实这里很简单,因为项目是utf-8编码,那么就把jvm启动参数改一下。

-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 (是不是似曾相识?加入该语句)

tomcat目录 —— bin文件夹 —— catalina.bat :

:gotJsseOpts
set “JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8

set “JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8

好了,现在重启服务器,页面显示正常,前后台交互传值也是utf-8的编码。但是随即新的问题出现,控制台乱码了。

查阅了资料,因为Windows系统下,CMD的编码是GBK,自然中文乱码,解决方案:

1.打开一个新的CMD窗口,在CMD中输入 CHCP 65001 ,设置编码为UTF-8

注:CHCP是一个计算机指令,能够显示或设置活动代码页编号。
65001 UTF-8代码页
950 繁体中文
936 简体中文默认的GBK
437 MS-DOS 美国英语

通过切换路径,进入tomcat目录下,运行startup.bat,不出意外,控制台不再乱码。

2.上个方法,有些麻烦的是,每次都需要如此操作启动服务器。那么还可以通过设置默认编码。

通过修改注册表:

在运行中通过regedit进入注册表
找到HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe 新建一个
DWORD(32位值),命名为CodePage,值设为65001

若是能成功,那自然是好的,目前网上很多方案都是这样,但是不知为何的是,我并没有生效。

3.第三种方案

依然是修改注册表:

在运行中通过regedit进入注册表
找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
新建-字符串值,命名autorun,右键修改:数值数据填写 “chcp 65001”,确定。

现在,直接启动服务器,控制台中文正常显示。

经常遇到这样那样的乱码,每次搞得心烦意乱,时间久了老是忘记之前的具体解决方案,现在记录在案,以备不时之需。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值