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日志没问题了,所以暂时先这样。

        

  • 相关阅读:
    两数之和
    Go网络编程UDP
    Go网络编程TCP
    Go_json
    Iris_xorm
    Go初始化结构体数组/切片
    Iris_xorm
    pyhon之函数参数
    python之深浅拷贝
    python作业之用户管理程序
  • 原文地址:https://www.cnblogs.com/xiufengd/p/12034159.html
Copyright © 2011-2022 走看看