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

        

  • 相关阅读:
    企业应用开发中最常用c++库
    ESOURCE_LOCKED
    c++标准之于gcc/vc/boost等实现相当于jsr规范之于sunjdk/ibmjdk/tomcat/weblogic等实现
    c++的各种类型转换方式
    c++的友元类、方法及其益处
    c/c++的typedef/using类型别名
    c++的class声明及相比java的更合理之处
    c++ sleep(windows/linux)
    c++不自动生成相关函数比如赋值、拷贝函数
    c++继承、多态以及与java的行为差异之处
  • 原文地址:https://www.cnblogs.com/xiufengd/p/12034159.html
Copyright © 2011-2022 走看看