tomcat乱码-windows常规处理及linux环境下乱码记录

最近有个项目用tomcat部署在Linux系统上正好遇到乱码问题,绕了几个小时,看了各种帖子,顺便总结个经验,把windows使用tomcat的乱码处理情况也写一下,提供参考。

一、控制台tomcat乱码

控制台输出字符集设置,修改tomcat目录下conf中的logging.properties文件,下图中改最后一个uft-8或是全部的utf-8都可以试一试。
部署在windows的服务器上,这个而地方就配置为GBK,如果是linux的,就要配置为UTF-8。

java.util.logging.ConsoleHandler.encoding = UTF-8

改为

java.util.logging.ConsoleHandler.encoding = GBK

控制台输出字符集设置

二、页面乱码

页面乱码场景就太多了,首页页签标题乱码类型、数据库相关数据乱码类型等等,一般处理方式都是修改解码方式和请求字符集设置。

1.找到Tomcat的conf下的server.xml,在Connector标签中添加字符集设置:URIEncoding=“UTF-8”

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

2.找到Tomcat的bin目录,在catalina.bat文件中加入以下语句:一般加在最上方@echo off的下面

set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%  -Dfile.encoding=UTF-8"

LINUX系统环境乱码问题记录

记录:项目部署后首页乱码,而登录系统往后,显示一切正常。
尝试解决方式:1.修改了centos7的默认语言环境:设置为中文utf-8 (无效)
具体操作可百度

LANG="zh_CN.UTF-8"

2.找到Tomcat的bin目录下的catalina.sh文件中加入:JAVA_OPTS=“$JAVA_OPTS -Dfile.encoding=UTF-8” (无效)
在这里插入图片描述
公司大佬把问题定位到了解码字符集,然后修改了catalina.sh中设置的字符集:

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=GBK"

首页乱码解决!!!

3.定位具体原因,经过各种尝试及测试,尝试中-在把首页html单独拿出来修改标签设置字符集之类的:

<meta content="text/html" charset="UTF-8" > 或是<meta content="text/html" charset="gbk" >

因为定位到了是解码问题,那么就考虑到了编码,最终找到原因是首页html打包编译时是gbk字符格式,所以在修改catalina.sh文件时把字符集改为gbk后,显示正常;经后续测试,将首页html转为utf-8后,删除catalina.sh中的字符集设置,显示也正常。大概推测tomcat是默认utf-8解码,但是由于前面修改过centos的语言环境,没再去深究是否是设置了中文utf-8做了铺垫。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值