今天接手到一个项目的维护,本来说只要重新打个包放到服务器上,就好了,然后就照做了。结果坑就来了。JSP页面在使用IDEA下的启动的tomcat展示是完全正常的,然后打包成war包之后,部署到docker tomcat下面页面就出现异常了。。出现了部分中文乱码(重点)然后就非常头疼了,查了一圈改配置的地方都配置了,包括tomcat的的conf之类,有大神见过这类问题的吗。。

解决方案 »

  1.   

    兄弟,给你个建议,修改一下tomcat服务器的配置文件<Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" /> 
    改成 
    <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="UTF-8"/> 
    如果还有问题,那么修改web.xml添加过滤器<filter>  
        <filter-name>CharacterEncodingFilter</filter-name>  
        <filter-class>com.worthtech.app.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
          <param-name>encoding</param-name>  
          <param-value>UTF-8</param-value>  
        </init-param>  
        <init-param>  
          <param-name>ignore</param-name>  
          <param-value>true</param-value>  
        </init-param>  
      </filter>  
      <filter-mapping>  
        <filter-name>CharacterEncodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
      </filter-mapping>  
      

  2.   


    兄dei。。tomcat已经设置了,然后过滤器也是加了这个的。。
      

  3.   

    兄dei。。tomcat已经设置了,然后过滤器也是加了这个的。。
      

  4.   

    有没有可能是镜像没有支持utf-8编码呢  试下在程序启动参数里加个-D参数支持utf-8   我之前遇到一个问题 也编码问题 不过我的是服务器上程序输出日志乱码  不知道对你有没有帮助 可以试试
      

  5.   

    额  我想到一个地方会导致乱码 jsp页面的头部
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      

  6.   

    https://blog.csdn.net/qq_40985788/article/details/81436551    
      这是我自己暑假在学习的过程中所遇到的中文乱码问题   你可以自己借鉴一下,可能还是字符编码不统一的问题
      

  7.   

    将数据库编码格式和eclipse编码的格式统一一下,都统一成UTF-8或者GB-2312  试试看
      

  8.   

    有可能是打包的那个空间的格式不是utf-8,也会导致这样的问题