首页 > 其他分享 >Tomcat startup.bat启动 控制台中文乱码问题

Tomcat startup.bat启动 控制台中文乱码问题

时间:2022-10-19 16:34:27浏览次数:46  
标签:编码 bat Tomcat tomcat startup GBK 乱码

一. 问题背景

以双击运行 tomcat目录下 startup.bat 的方式启动tomcat程序。

 控制台输出的中文提示信息都是乱码

 

 

二、问题原因

windows默认编码集为GBK,由于使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。这个新窗口的编码格式是windows默认编码集为GBK。

而tomcat输出的格式是UTF8的,程序输出与窗口解析的编码不一致,所以导致乱码。

窗口的编码格式可以通过在窗口左上角图标上 >> 右键“属性” >> 查看当前代码页,进行查看,如图: 

(注:65001为UTF-8, 936为GBK)

 

 

三、解决思路

关于编码不匹配导致的乱码,相关的配置位置有很多,包括 context.xml,server.xml,logging.properties,IDEA上的配置,还有java虚拟机参数(-Dfile.encoding=UTF-8)等

其中最简单的方式就是将tomcat的日志输出改为GBK来适应窗口的编码(logging.properties的方式),网上大多数都是这种统一为GBK的方法。

但是我遇到的情况是

  1. 我希望从startup.bat启动
  2. 希望窗口可以显示utf-8,因为不仅是tomcat输出的中文是utf8,我的程序中也将会输出utf8

所以只能是想办法修改运行时,新建的窗口的默认编码。

四、解决方案

  1. 打开注册表
  2. 找到HKEY_CURRENT_USER→Console→Tomcat(没有的话就添加。右键 >> 新建 >> 项。如果你改了tomcat的标题栏,这里就是你打开的命令窗口的名字)
  3. 找到CodePage项,没有则新建(DWORD),更改值为65001、基数为十进制,点击确定。

结果图如下:

 

 

 

五、结果验证

这时候在启动startup.bat就不在乱码了,并且控制台窗口的属性页改为UTF-8了。

 

 

 

六、总结

不确定该注册表意味着什么,日后需要再研究一下

 

 

 

 

参考: https://blog.csdn.net/zhaoxny/article/details/79926333

 

标签:编码,bat,Tomcat,tomcat,startup,GBK,乱码
From: https://www.cnblogs.com/lyphy/p/16806768.html

相关文章

  • 偶然得一法解决UltraEdit显示中文乱码的方法
    之前同事帮忙新安装的ghost版系统。后来装了UltraEdit。结果打开一个带有中文的文本文件,中文的地方都是黑框框,无法正常显示文字。在网上寻找方法均试过,无效。后来我任务栏的......
  • windows环境使用tomcat部署jenkins配置
    一、安装包下载jdk:https://www.oracle.com/java/technologies/downloads/#java8tomcat:https://tomcat.apache.org/download-80.cgijenkins.war:http://updates.jenkins-c......
  • yaml 解决读取文件中文字符乱码
    用yaml文件作为参数时,读取时如果包含中文字符,console端打印时会变成乱码 解决办法,读取时设置编码格式参数encoding='utf-8' 即可  ......
  • 解决jdk1.8中文乱码问题
    jdk1.8中文乱码问题jdk1.8不能直接运行,需要先编译后运行,如果有中文,会出现乱码,编译不通过。只需编译时在文件名.java后空格加上-encodingutf-8即可,运行时不要加后缀名(.j......
  • tomcat 发布后 webapps下面只有META-INF和WEB-INF
    tomcat发布后webapps下面只有META-INF和WEB-INFlocalhost:8080访问正常,localhost:8080/项目名404原因映射路径不正确编译路径和发布路径eclipse:1、选中项目——......
  • tomcat中mime type配置说明
    在一些场景下tomcat下的一些文件在浏览器中访问的时候浏览器会直接打开这个文件内容而不是下载该文件 反之亦然.这时候需要设置tomcat下的配置打开tomcat目录下的c......
  • 配置Tomcat 8 访问静态资源,并解决Tomcat8 CORS跨域问题
    解决Tomcat8CORS跨域问题由于我们的应用程序在访问上述静态资源的时候会涉及跨域的问题,如何解决CORSonTomcat的问题,需要进行<filter>的配置。打开apache-tomcat-8.5.......
  • Tomcat修改端口、添加域名访问
    一、修改改端口1、修改默认访问端口8080,改为80#vim/usr/local/tomcat/conf/server.xml  (路径是自己的安装目录)<Connectorport="8080"protocol="HTTP/1.1"con......
  • url参数里有文字,获取为乱码解决办法
    functiongetUrlV(){varvars=[],hash;varhashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');for(vari......
  • datax3在windows环境下cmd乱码
    问题描述:运行python\xxx\datax.py\xxx\job.json控制台汉字显示乱码。原因分析:window操作系统默认编码格式是gbk(963)编码,而在程序开发中我们统一的编码是UTF-8。这样......