Tomcat部署maven项目返回中文乱码问题

此文章仅限发送的数据就是utf-8,接收到的却不是的情况,请先排除发送方的数据编码情况

1.请求类别

1.1 GET请求中文乱码

需要在tomcat安装目录下conf/server.xml文件中,加入 URIEncoding="utf-8",当然JSP文件内配置编码类型也是应有之意

1.2 POST请求中文乱码

POST请求的中文乱码有一下几种情况(可能不全)

1.2.1 web.xml未配置字符类型

需要在项目的web.xml中配置一下过滤代码


    CharacterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      utf-8
    
    true


    CharacterEncodingFilter
    /*

1.2.2 Tomcat未配置过滤

在tomcat安装目录conf/web.xml 下找到以下代码,分开找,并解除注释或复制粘贴出来就好了。


    setCharacterEncodingFilter
    org.apache.catalina.filters.SetCharacterEncodingFilter
    
       encoding
       UTF-8
    


    setCharacterEncodingFilter
    /*

1.2.3 windows Server默认字符编码

如果你的代码在myeclipse、eclipse、IDEA上运行时,POST请求不乱码,在linux系统中也不乱码,只有在windows系统,单独运行项目时乱码,那这个就是最可能的情况:JVM使用了默认编码。

由于简体中文的windows系统默认字符编码是GBK,所以你的JVM也是用了GBK编码。

所以,你需要 -Dfile.encoding=UTF-8 ,在tomcat安装目录下bin/catalina.bat 打开并搜索JAVA_OPTS=,然后在后面添加上就好了

set "JAVA_OPTS=%JAVA_OPTS% .....忽略
后加入 -Dfile.encoding=UTF-8

以上。

你可能感兴趣的:(部署)