首先,当你本地和服务器觉得相同但是服务器乱码,你要仔细想想两个场景差异,我遇到的是服务器集成了单点登录。我本地web.xml没有添加单点进行过滤,所以问题定位在web.xml
然后继续找到如下解决方式,我原有
<filter>
<filter-name>Encoding</filter-name>
<filter-class>cn.xroot.base.web.filter.EncodingFilter</filter-class></filter>
<filter-name>Encoding</filter-name>
<filter-class>cn.xroot.base.web.filter.EncodingFilter</filter-class></filter>
后来改成如下,一定要在单点前声明
<filter>
<filter-name>Encoding</filter-name>
<filter-class>cn.xroot.base.web.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
以上代码就是web.xml内的字符集声明
后来改成如下,一定要在单点前声明