首页   >   代码编程   >   JAVA开发

Linux环境下tomcat控制台乱码解决方案

由于云服务器快要到期了,所以新购了一台服务器,将工程迁移过去了,运行发布都没什么问题,可是查看日志的时候却发现控制台出现了乱码,所有打了中文注释的地方,几乎全都是????

Linux环境下tomcat控制台乱码解决方案

第一反应是项目中的编码不对,遂检查了spring的encodeFilter,没发现有什么不对

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

立马又检查了tomcat的配置文件,是否追加了URIEncoding="UTF-8",也没有发现什么不对

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

实在么有办法了,只有祭出大招:更改catalina.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"

JAVA_OPTS="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"

如下图所示:

Linux环境下tomcat控制台乱码解决方案

至此,问题得到解决!!!

上面两行代码亲自测试过,任意一行都可以生效!!!

QQ群: 686430774  /  718410762

站长Q: 1347384268

如果文章有帮到你,可以考虑请博主喝杯咖啡!

分享到:

欢迎分享本文,转载请注明出处!

作者:不忘初心

发布时间:2019-02-20

永久地址:https://www.jiweichengzhu.com/article/791fcde59d4f4f59849cc170c8b67768

评论