【JavaWeb】tomcat中文乱码

目录

前言

1.修改conf文件夹下server.xml文件

2.修改bin文件夹下catalina.bat文件

 3.修改IDEA编码方式

 4.修改注册表属性

参考资料


前言

在启动Tomcat时,发现控制台输出“中文乱码”,作为一个强迫症患者,这种情况自然是不能忍,下面把折腾过程记录下来。

注:最终没有成功解决问题,有哪位大侠解决了的,希望告知一下方法,谢谢。


1.修改conf文件夹下server.xml文件

首先在【Tomcat安装目录/conf】目录下找到该文件

【JavaWeb】tomcat中文乱码_第1张图片

然后使用notepad打开,并搜索【

【JavaWeb】tomcat中文乱码_第2张图片

 然后在最后添加【URIEncoding="UTF-8"】,如下图所示。

【JavaWeb】tomcat中文乱码_第3张图片

修改后代码如下:

为了保持本电脑中Tomcat7,8,9版本的一致性,在各个版本中都做了上述修改;然而,并没有解决控制台中文乱码问题。

2.修改bin文件夹下catalina.bat文件

首先在【Tomcat安装目录/bin】目录下找到该文件

【JavaWeb】tomcat中文乱码_第4张图片

使用notepad打开,并搜索【JAVA_OPTS=】字段,找到下图位置。

【JavaWeb】tomcat中文乱码_第5张图片

 在该行最后添加【-Dfile.encoding=UTF-8】,如下图所示

【JavaWeb】tomcat中文乱码_第6张图片

修改代码如下:

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

然而,经过上述修改,依旧没有解决问题。。。

 3.修改IDEA编码方式

打开IDEA,File->Setting,然后在搜索框中查找【File Encoding】,如下图:

【JavaWeb】tomcat中文乱码_第7张图片

将原来的GBK编码全部修改成UTF-8编码。

【JavaWeb】tomcat中文乱码_第8张图片

 结果还是没起作用。

 4.修改注册表属性

根据参考资料[1]所述:windows默认编码集为GBK,由于使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。打开的cmd默认编码可能不是utf-8,与系统编码不一致,所以导致乱码。

本人查看了一下Tomcat控制台的属性,确实默认的是GBK编码。

【JavaWeb】tomcat中文乱码_第9张图片

非常不情愿得选择了修改注册表,通过快捷键win+R,然后输入【regedit】,打开注册表编辑器。

【JavaWeb】tomcat中文乱码_第10张图片

按顺序依次寻找【HKEY_CURRENT_USER→Console→Tomcat】,然后在本电脑中,Console下面没有Tomcat,因此本人选择了第一项【%SystemRoot%_system32_cmd.exe】进行修改。

【JavaWeb】tomcat中文乱码_第11张图片

打开对应的CodePage,原先是十六进制的3a8。

【JavaWeb】tomcat中文乱码_第12张图片

修改为十进制的65001,如下图:

【JavaWeb】tomcat中文乱码_第13张图片

好像还是不行,重启一下电脑看看。还是不得行。。。放弃了,先用着吧,可能是因为注册表没找到对应的Tomcat选项,把注册表改回来先,防止以后出问题。


参考资料

  1. Tomcat乱码问题 catalina.bat设置为UTF-8 控制台出现乱码

你可能感兴趣的:(【前后端】JavaWeb)