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

        

  • 相关阅读:
    Leetcode 50.Pow(x,n) By Python
    Leetcode 347.前K个高频元素 By Python
    Leetcode 414.Fizz Buzz By Python
    Leetcode 237.删除链表中的节点 By Python
    Leetcode 20.有效的括号 By Python
    Leetcode 70.爬楼梯 By Python
    Leetcode 190.颠倒二进制位 By Python
    团体程序设计天梯赛 L1-034. 点赞
    Wannafly挑战赛9 C-列一列
    TZOJ Start
  • 原文地址:https://www.cnblogs.com/xiufengd/p/12034159.html
Copyright © 2011-2022 走看看