解决Tomcat本身日志打印乱码

乱码描述:

       直接在tomcat安装目录下bin文件夹里面运行startup.bat脚本弹出一个cmd窗口显示日志,输出日志是乱码

解决步骤:

     1、编辑tomcat安装目录下bin文件夹里面的 startup.bat 文件,将 call "%EXECUTABLE%" start %CMD_LINE_ARGS%  修改为  call "%EXECUTABLE%" run %CMD_LINE_ARGS%  ,如图:

     2、编辑tomcat安装目录下bin文件夹里面的 catalina.bat 文件,将 set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"  修改为  set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%  -Dfile.encoding=UTF-8"  ,如图:

     3、运行(win+r) --> 输入 regedit 打开注册表-->找到 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]-->右键 新建  字符串值-->输入数值名称 autorun,输入数值数据 chcp 65001。点击确定。

 

到这里就搞好啦,重启tomcat就会发下不在乱码了

尽管提供的引用主要涉及 Activiti 的数据库索引更改[^1],但这与 Tomcat 启动时出现乱码的问题并无直接关联。然而,可以基于专业知识提供解决方案。 Tomcat 启动时出现乱码通常是因为字符编码设置不一致所引起的。以下是可能的原因以及对应的解决方法: ### 可能原因及解决办法 #### 1. 配置文件中的字符集未正确指定 如果 `server.xml` 文件中没有显式定义 URI 编码方式,则可能导致请求参数的中文显示为乱码。 ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> ``` 上述配置通过设置 `URIEncoding="UTF-8"` 来确保 URL 参数能够被正确解析为 UTF-8 字符集[^2]。 #### 2. JSP 页面默认字符集问题 JSP 页面如果没有明确声明其使用的字符集,默认可能会采用 ISO-8859-1 而不是 UTF-8,从而引发页面内容乱码的情况。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ``` 此代码片段明确了 JSP 页面的内容类型及其字符集均为 UTF-8[^3]。 #### 3. 控制台输出乱码 当运行环境的操作系统语言版本不同步或者控制台本身无法支持某些字体时,也可能观察到日志打印出来的文字变成问号或其他不可读符号。 对于 Windows 平台下的 CMD 命令窗口来说,可以通过执行命令切换至兼容性更好的代码页来改善这一状况: ```batch chcp 65001 ``` 另外,在启动脚本 catalina.bat 或者 catalina.sh 中加入 JVM 参数 `-Dfile.encoding=UTF-8` ,可以让整个 Java 应用程序统一使用 UTF-8 进行内部字符串处理[^4]: ```bash export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8" ``` 以上措施综合应用后应该可以有效缓解乃至彻底消除由于编码差异带来的各种形式上的混乱现象。 ### 注意事项 即使采取了上述所有建议之后仍然存在个别地方未能正常展示预期汉字的情形下,请进一步核查数据源层面上是否存在二次转码错误等问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值