项目环境–>
(1:IDEA2019.1.2
(2:TomCat6
(3:项目编码格式为:utf-8
4):Win7
问题描述–>
(1.TomCat启动输出日志中文乱码
涓ラ噸: An incompatible version 1.2.21 of the Apache Tomcat Native library is installed,
淇℃伅: Initializing Coyote HTTP/1.1 on http-8080
...
2).项目输出日志中文乱码
19:24:56,167 .. - 绯荤粺寮�濮嬪惎鍔�.....
19:24:56,277 .. - 浣跨敤鐨勬湇鍔″櫒涓�:
...
原因分析–>
(1.项目本身存在编码格式,例如"utf-8"、“gbk”…
(2.idea设置存在文本编码格式设置,通常默认"gbk"
3).tomcat本身启动、日志输出均可进行编码设置
以上,如果 没有设置取默认编码格式 或 进行过设置但编码格式不统一 均可能导致输出日志乱码。
解决方案–>
(1.设置idea文本编码格式:utf-8
设置:Ctrl + Alt + S
编译器()-->文本编码()
(2.设置idea VM选项:-Dfile.encoding=utf-8
文件:idea64.exe.vmoptions,增加配置:-Dfile.encoding=utf-8(注意不要有空格),如下图
(3.tomcat运行配置:-Dfile.encoding=utf-8
虚拟机选项()增加:-Dfile.encoding=utf-8
(4.tomcat脚本:catalina.bat 设定编码格式: -Dfile.encoding=UTF-8
脚本文件位置(视tomcat安装路径而定):..\apache-tomcat-6.0.9\bin\catalina.bat
定位属性 "set JAVA_OPTS=..",添加" -Dfile.encoding=UTF-8",如下图
(5.tomcat服务配置:server.xml 设定编码格式:URIEncoding="UTF-8"
服务配置文件位置(视tomcat安装路径而定):..\apache-tomcat-6.0.9\conf\server.xml
定位标签 "<Connector ../>",该标签可能存在多个,定位属性值 "protocol"为"HTTP/1.1" ,
在该标签后增加或修改属性 URIEncoding="UTF-8",如下图
6).tomcat日志配置:logging.properties 设定编码格式:java.util.logging.ConsoleHandler.encoding = utf-8
日志配置文件位置(视tomcat安装路径而定):..\apache-tomcat-6.0.9\conf\logging.properties
定位属性 "java.util.logging.ConsoleHandler..",增加配置:
java.util.logging.ConsoleHandler.encoding = utf-8
如下图