版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40110871/article/details/84205703
idea struts2中文乱码。idea tomcat中文乱码。
1.很可能是写有中文的Java文件编码和前端不一样导致。
- 统一为
UTF-8
编码: - jsp文件
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" %>
- Java文件编码模式:
2.加上 escape='false'
<s:property value="user.address.city" escape='false'/><br/>
3.自定义过滤器
/**
* @Auther: 微笑
* @Description:自定义过滤器
*/
public class EncodingFilter implements Filter {
private String charSet;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
this.charSet = filterConfig.getInitParameter("charset");
System.out.println(this.charSet);
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding(this.charSet);
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
}
}
- web.xml
<!-- 配置自定义过滤器乱码处理 -->
<filter>
<filter-name>encoding</filter-name>
<filter-class>cn.ognl.EncodingFilter</filter-class>
<init-param>
<param-name>charset</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.Tomcat服务器添加UTF8启动参数
重新运行项目。
5.IDEA修改安装目录配置文件:
idea64.vmoptions
idea.vmoptions
文件末尾添加:
-Dfile.encoding=UTF-8
重启IDEA。
6.Tomat目录添加URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
重启服务器。