解决Tomcat请求和日志中文乱码的问题

1.解决请求参数中文乱码

找到Tomcat安装目录,编辑conf/server.xml文件,找到以下内容:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />

修改该内容:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />

追加 URIEncoding=“UTF-8” 属性后,Tomcat会默认以UTF-8的编码来处理请求,可以解决中文乱码的问题。


2.解决日志中文乱码

首先找到Tomcat安装目录
windows下:打开bin目录下的catalina.bat文件,搜索JAVA_OPTS,找到
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"
修改为
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding=utf-8"

2019-09-19更新
catalina.bat中搜索LOGGING_CONFIG,可以看到如下的内容:

rem   LOGGING_CONFIG  (Optional) Override Tomcat's logging config file
rem       Example (all one line)
rem       set LOGGING_CONFIG="-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties"

可以看出我们能通过修改tomcat目录下的conf/logging.properties文件,来修改日志的编码。
打开该文件,搜java.util.logging.ConsoleHandler,可以看到如下内容:

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

我们再追加一项配置,来修改日志的编码格式即可:

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8

linux下:打开bin目录下边的catalina.sh文件,添加如下配置:
JAVA_OPTS="$JAVA_OPTS = -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Tomcat中出现中文乱码问题通常有几个可能的原因。首先,Windows默认编码集为GBK,而Tomcat默认使用UTF-8编码。这可能导致在启动Tomcat时,命令框和输出日志显示乱码。\[1\] 解决这个问题的方法是检查Tomcat的配置文件conf/logging.properties,确保ConsoleHandler.encoding的值为utf-8。如果不是utf-8,可以将其改为utf-8。这样通常可以解决Tomcat日志输出的乱码问题。\[2\] 另外,如果在请求参数中出现中文乱码问题,可以通过设置请求的字符编码来解决。可以在代码中使用request.setCharacterEncoding("UTF-8")来指定请求的字符编码为UTF-8,这样可以确保正确处理中文字符。\[2\] 如果在Tomcat启动时黑框中出现乱码,可以在Tomcat目录下的conf文件夹中找到logging.properties文件,将java.util.logging.ConsoleHandler.encoding的值从UTF-8改为GBK,然后重新启动Tomcat即可解决乱码问题。\[3\] 综上所述,解决Tomcat中文乱码问题的方法包括检查Tomcat配置文件、设置请求的字符编码以及修改logging.properties文件中的编码设置。 #### 引用[.reference_title] - *1* [谈谈tomcat引起的中文乱码问题](https://blog.csdn.net/chonghu5376/article/details/100735126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [tomcat乱码的几种解决](https://blog.csdn.net/qq_45093483/article/details/126951681)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [tomcat启动乱码及访问项目中文乱码终极解决方法](https://blog.csdn.net/weixin_45947267/article/details/109417431)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值