-
2021-12-23 16:42:23
Tomcat日志之所以出现中文乱码问题是因为日志输出的编码格式没有设置成UTF-8格式。
首先打开Tomcat目录下的\apache-tomcat-6.0.53\conf\logging.properties文件,
我的日志配置文件如下:# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler .handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ 1catalina.org.apache.juli.FileHandler.level = FINE 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina 1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8. 2localhost.org.apache.juli.FileHandler.level = FINE 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost 2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8. 3manager.org.apache.juli.FileHandler.level = FINE 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 3manager.org.apache.juli.FileHandler.prefix = manager 3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8. 4host-manager.org.apache.juli.FileHandler.level = FINE 4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 4host-manager.org.apache.juli.FileHandler.prefix = host-manager 4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8. java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter java.util.logging.ConsoleHandler.encoding = UTF-8 ############################################################ # Facility specific properties. # Provides extra control for each logger. ############################################################ org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler # For example, to log debug messages in ContextConfig and HostConfig # classes and to log only warnings and errors in other # org.apache.catalina.** classes, uncomment these lines: #org.apache.catalina.startup.ContextConfig.level = FINE #org.apache.catalina.startup.HostConfig.level = FINE #org.apache.catalina.level = WARNING
其中,这是catalina输出控制台的编码格式
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8.
其中,这是本地控制台的编码格式
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8.
其中,这是Java控制台的编码格式
java.util.logging.ConsoleHandler.encoding = UTF-8
设置完这三个编码格式以后,Tomcat就不会出现中文乱码问题啦~
更多相关内容 -
tomcat日志中文乱码问题
2022-04-10 15:37:07平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,要么是控制台输出乱码或者输出日志乱码,要么页面接收乱码,非常烦人。引起乱码的原因多个,从网上学习了很多,现在尝试简单总结给大家分享 一、页面输出...平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,要么是控制台输出乱码或者输出日志乱码,要么页面接收乱码,非常烦人。引起乱码的原因多个,从网上学习了很多,现在尝试简单总结给大家分享
一、页面输出乱码
有三种可能
1.server.xml配置未注明编码格式
浏览器本身有自己的显示编码格式,tomcat的输出也有自己的格式,甚至我们在编写代码的过程中也可以指定输出的编码格式。所以这类原因导致的乱码,需要我们保持各种编码格式统一:
a.在tomcat中将server.xml 的我们所用的端口的配置添加URIEncoding=“UTF-8”
b.在html的标签内加上meta标签
c.最好在编程中输出页面的时候指定编码为UTF-8
2.catalina.bat的配置问题
在 omcatincatalina.bat这个配置文件中加上
set JAVA_OPTS=-Dfile.encoding=UTF-8
3.用编译工具,在IDEA编译器中的VM options:设置-Dfile.encoding=UTF-8,或eclipse 的设置中改成utf-8 输出的问题可以解决
二.控制台输出乱码
这个问题的原因是windows默认编码集为GBK,由于使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。打开的cmd默认编码可能不是utf-8,与系统编码不一致,所以导致乱码。所以tomcat的命令框和输出日志都是乱码
解决的办法有两个:
1.修改cmd命令行的编码
a.打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat
b.找到CodePage项,没有则创建,更改值为十进制的65001
2.修改logging.properties配置
a.打开tomcat/conf/logging.properties
b.添加语句:
java.util.logging.ConsoleHandler.encoding = GBK
c.重启tomcat,查看日志数据即可
-
IDEA中tomcat日志中文乱码解决方案
2020-04-29 14:36:312.确认tomcat的log日志输出格式为UTF-8 文件路径{tomcatHome}\conf\logging.properties 3.修改日志框架的配置为utf-8 不管你是使用log4j还是sl4j还是其他的日志框架,都必须把编码改为utf-8。具体配置方案根据...1.检查IDEA设置中文件的编码格式全部为UTF-8
2.确认tomcat的log日志输出格式为UTF-8
文件路径{tomcatHome}\conf\logging.properties
3.修改日志框架的配置为utf-8
不管你是使用log4j还是logback,还是还是一些其他的日志框架,都必须把编码改为utf-8。具体配置方案根据不同框架而定,不在本文讨论范围内,请自行查找
4.修改IDEA编码格式为UTF-8
Help——Edit Custom VM Options (提示不存在配置文件要求你创建时选择是)
在最后添加配置:
-Dfile.encoding=UTF-8
然后重启IDEA
注:
有的文章说要把tomcat日志改为GBK格式也能保证日志输出正常的其实是因为没改最后一步,IDEA默认的编码格式是GBK。如果你不打算把IDEA编码改为UTF-8也可以把tomact的日志改为GBK,但是这么做你看到的日志其实是GBK格式的,为了保证我们所有的编码都是统一的,建议还是把tomcat日志改成utf-8.
-
idea日志乱码和tomcat日志乱码问题的解决方法
2020-08-18 16:09:39主要介绍了idea日志乱码和tomcat日志乱码问题的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 -
Tomcat日志中文乱码怎么解决?
2021-02-04 22:20:55Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行时,Tomcat的输出日志中文全为乱码(在Windows上正常),看着非常心塞,那么我们应该怎么...Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行时,Tomcat的输出日志中文全为乱码(在Windows上正常),看着非常心塞,那么我们应该怎么解决呢?
系统中文乱码
Tomcat输出日志中文乱码
系统环境CentOS 7.0 64位
jdk-8u11-linux-x64.
apache-tomcat-8.5.16
解决步骤:
1.安装中文语言包
先查看系统是否有安装中文语言包
# locale -a (列出所有可用的公共语言环境的名称)
若发现以上几项,说明系统已安装中文语言包,无需再安装,那这几项代表什么意思呢?
{语言代号}_{国家代号}.{字符集}
zh是中文的代号、CN是中国的代号、gb18030,gb2312,utf8是语言字符集
那么每一项可以通俗理解为 “你是说中文的,你在中国,语言字符集是gb18030/gb2312/utf8”
如果没有发现以上几项,则手动安装中文语言包
# yum install kde-l10n-Chinese (大概11M)
2.修改i18n国际化和locale.conf本土化配置文件
在修改配置文件之前,我们先看看当前系统语言环境
# locale
("en_US.UTF-8"按照上面的内容可以理解为“你说英语,你在美国,语言字符集为UTF-8”)
每项的意思分别为 :
LANG:当前系统的语言
LC_CTYPE:语言符号及其分类
LC_NUMERIC:数字
LC_COLLATE:比较和排序习惯
LC_TIME:时间显示格式
LC_MONETARY:货币单位
LC_MESSAGES:信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等
LC_NAME:姓名书写方式
LC_ADDRESS:地址书写方式
LC_TELEPHONE:电话号码书写方式
LC_MEASUREMENT:度量衡表达方式
LC_PAPER:默认纸张尺寸大小
LC_IDENTIFICATION:对locale自身包含信息的概述
LC_ALL:优先级最高变量,若设置了此变量,所有LC_* 和LANG变量会强制跟随它的值
我们看到虽然安装了中文语言包但本机的语言环境并不是中文,先修改i18n配置文件
# vim /etc/sysconfig/i18n
添加如下两行代码
LANG="zh_CN.UTF-8"
LC_ALL="zh_CN.UTF-8"
# source /etc/sysconfig/i18n
再修改 locale.cnf配置文件
# vim /etc/locale.conf
LANG="zh_CN.UTF-8"
# source /etc/locale.conf
重启系统
# reboot
3.设置终端连接编码
文件->打开->选中会话->右键->属性->终端 (我用的终端连接工具是Xshell,其它连接工具更改编码方式请自行百度)
将编码改为 UTF-8
重新连接,再查看当前系统语言环境
# locale
发现系统语言环境已经成功改为 “zh_CN.UTF-8”
再次尝试编辑中文
# vim 你是猪吗
# ls
SUCCESS!至此,系统中文乱码问题已解决。
4.解决Tomcat输出日志乱码
既然系统中文乱码已经解决了,那么Tomcat输出日志中文乱码会不会也解决了呢?
我们现在看看Tomcat输出日志
进入Tomcat目录
# cd $CATALINA_HOME
# tail -f ./logs/catalina.out
很遗憾,Tomcat日志中文还是乱码。
分析:既然系统已经不会出现中文乱码,证明系统语言环境是正常的,但是Tomcat日志还会出现中文乱码,说明是Tomcat内部的问题,网上查了一些资料,知道是JVM(Java Virtual Machine)
java虚拟机所用的字符集与系统所用的字符集不一致造成的,知道原因,问题就好解决了,可以通过配置JVM的启动参数来达到修改JVM所使用字符集的目的。
# ls -l ./bin/
找到 daemon.sh 和 catalina.sh 分别加入以下代码:
JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8"
# vim ./bin/daemon.sh
# vim ./bin/catalina.sh
保存退出,重启Tomcat
# ./bin/shutdown.sh
# ./bin/startup.sh
现在再查看输出日志
# tail -f ./logs/catalina.out
向服务器发一次请求
-
关于IDEA中Tomcat日志中文乱码问题解决办法!
2021-06-05 09:33:01关于IDEA中Tomcat日志中文乱码问题解决办法 找到Tomcat服务器的路径。如图所示。 打开配置文件conf 打开日志配置文件logging.properties 用记事本打开之后找到日志控制编码,并将UTF-8改为gbk即可。其他编码格式... -
Tomcat日志显示乱码问题
2021-09-17 17:24:45Tomcat目录下的logs文件夹会生成相应的日志文件,发现旧版本生成的日志文件编码是GBK,而Windows控制台的编码也是GBK,所以不会乱码。而新版本生成的日志文件编码是UTF-8,所以就造成了中文乱码问题 ... -
CentOS7中文语言乱码以及Tomcat日志中文乱码问题解决
2020-12-19 07:39:37Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行时,Tomcat的输出日志中文全为乱码(在Windows上正常),看着非常心塞,那么我们应该怎么... -
Tomcat启动项目时页面中文乱码问题解决以及tomcat日志中文乱码问题
2022-02-07 15:17:351.在 server.xml 文件 配置端口的节点 加上:URIEncoding=“UTF-8” ...遗留问题:tomcat的日志会乱码 4.控制台输出乱码 解决的办法有两个: 1).修改cmd命令行的编码 a.打开注册表,找到HKEY_CURRENT_USER→Cons -
linux服务器Tomcat日志中文乱码问题
2019-09-14 15:00:06今天在迁移服务器时,发现tomcat输出的日志中文都变为? 所以记录下 1.查看当前系统编码 echo$LANG 2.安装中文包 在很多时候,linux服务器可能未安装中文支持包,特别是我们在国外购买的服务器,默认是不安装... -
解决Java & Idea启动tomcat的中文乱码问题
2020-08-18 18:16:53主要介绍了Java & Idea启动tomcat的中文乱码问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 -
Tomcat打印日志乱码
2021-04-13 11:32:37基本上我们安装的windows系统本地语言都是中文,用的是GBK编码,而我们IDEA和Tomcat日志选择的是utf8编码,因此编码方式不一致造成了我们的中文乱码问题。 二、Tomcat端乱码处理 既然原因已经找到了,接着... -
解决CentOS7中文语言乱码(包括Tomcat日志中文乱码)问题
2019-09-25 13:02:06Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行时,Tomcat的输出日志中文全为乱码(在Windows上正常),看着非常心塞,那么我们应该怎么... -
tomcat打印日志乱码问题
2022-05-31 20:14:00对于 tomcat 打印中文乱码问题,处理方式如下: -
window下idea使用tomcat日志中文乱码终极解决
2019-05-06 09:42:38在网上找了无数的方法,对tomcat配置和idea一顿设置都不好用。都没有解决。后来在跟我同事老版本的tomcat对比一边后发现有一处可疑点。结果ok了。 当前tomcat版本:8.5.39 解决办法: 打开conf下logging.... -
Tomcat日志乱码问题解决方法
2021-06-14 22:14:44启动tomcat之后,控制台打印的日志中出现了中文乱码的情况: 解决方法 1.找到tomcat下的conf目录下的logging.properties文件。 2.将logging.properties用记事本打开,然后将java.util.logging.... -
tomcat log日志中文乱码解决办法
2022-04-27 12:46:47tomcat控制台打印日志中文乱码及处理方法 #中文乱码 鼠标右键上图 属性 发现编码集是GBK #解决办法 打开tomcat的安装目录,找到conf文件夹下的logging.properties文件,以文本方式打开后找到 修改为GBK即可 ... -
tomcat日志打印中文乱码
2022-04-27 13:50:28tomcat日志打印中文乱码 解决办法 进入到tomcat中的bin目录编辑“catalina.bat”文件 将此处的“utf-8”修改为“GBK” 配置如下("rem"在文件中为注释的意思) rem jkx 20190925 tomcat控制台打印日志中文乱码 ... -
如何解决IDEA控制台Tomcat日志输出中文乱码的问题
2022-04-22 15:38:05工作中有些项目需要我们自己本地部署tomcat,经常会遇到在控制台输出中文乱码的问题, 如下所示: 看了很多文档都过于繁琐,主要是没抓到问题的重点。 解决办法如下: 只需要再Tomact服务配置的启动参数配置... -
启动 Tomcat 日志乱码问题
2021-12-04 21:52:03中文乱码 大家在 Windows 启动 Tomcat 应该都会遇到...乱码原因:Windows的控制台默认使用 GB2312 字符集,而 Tomcat 控制台日志输出默认使用 UTF-8 字符集,于是产生中文乱码,可使用 chcp 命令暂时修改控制台字符集 -
IDEA--tomcat日志乱码
2022-02-18 11:00:581、tomacat日志有三个地方,分布时Output(控制台)、Tomcat Localhost Log(tomcat本地日志)、Tomcat Catalina Log。 启动日志和大部分报错日志、普通日志都在output打印;有些错误日志,在Tomcat Localhost Log。... -
Linux下TOMCAT中日志出现中文乱码
2021-05-11 21:38:58红帽子AS4,其中TOMCAT为6.0。结果TOMCAT中日志出现中文乱码解决方法修改i18n:最后的配置为:[root@linux etc]# more /etc/sysconfig/i18n#LANG="zh_... -
tomcat启动日志中文乱码
2019-05-13 00:15:24当我们启动tomcat的startup.bat时出现中文乱码,如下图 我们想到是编码问题,UTF-8和GBK。 首先考虑的是tomcat的conf下的server.xml文件。 但是实验后没有成功。 这时候想到是问题出现在日志的配置上,找到...