zoukankan      html  css  js  c++  java
  • tomcat编码错乱问题

    问题场景:相同的代码,在同事电脑上可以正常运行,在我电脑上用项目跑代码的时候,密文没法解密,用main方法就可以,而且用同事代码打的war包在我本地也不行,初步排查,应该是本地环境的问题。

    场景1:本地开发eclipse,解决此方法需要确认两个地方:

        1、项目——properties——Resource——确定编码是不是UTF-8;

        2、eclipse——windows——Preferences——General——WorkSpace——确定编码是不是UTF-8

    通过上面方法可以解决项目编码冲突问题,但是新的问题出现了,控制台有中文乱码了,解决方法如下:在引入jdk的时候指定编码

        

    这样,本地开发的eclipse就可以正常开发了,但是,发布到正时系统怎么办呀!!

    场景2:服务器tomcat运行,解决方法:

        1、在tomcat——conf——server.xml下面的<Connector port="6666" protocol="HTTP/1.1"……>后面添加 URIEncoding="UTF-8" 即 <Connector port="6666" protocol="HTTP/1.1"……URIEncoding="UTF-8">,有时候不起作用,需要按方法2进行修改

        2、在tomcat——bin——catalina.bat下找到 set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%",在后面加上-Dfile.encoding=UTF-8,即set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"。

    通过上面方法可以正常解决服务器tomcat编码混乱问题,但是随之的问题就是,控制台打印出来的是中文乱码,解决方法:

        在tomcat——conf——logging.properties中,将所有的UTF-8改为GBK,如果不存在,则添加

    1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK
    2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK
    java.util.logging.ConsoleHandler.encoding = GBK

        此时控制台部分内容还是乱码,但是log日志没问题了,所以暂时先这样。

        

  • 相关阅读:
    高可用-mysql安装,双主模式+keepalived
    源码-mybatis-01-SqlSessionFactory创建
    J.U.C-volatile
    设计模式-模板设计模式(行为)
    设计模式-代理模式
    线程-join();
    Net Core 文件的上传下载
    mysql 开启日志记录执行SQL语句
    C# 方法多个返回值
    C# get set 方法 设置默认值
  • 原文地址:https://www.cnblogs.com/xiufengd/p/12034159.html
Copyright © 2011-2022 走看看