tomcat配置编码:
找到tomcat目录下的conf的server.xml,在Connector节点添加URIEncoding="UTF-8"
<Connector port="80" maxHttpHeaderSize="8192" maxThreads="150"
minSpareThreads="25" maxSpareThreads="75" enableLookups="false"
redirectPort="8443" acceptCount="100" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>
使用全局过滤器
package com.bjdata.favorite.servlet; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class GlobalFilter implements Filter{ public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("UTF-8");//设置编码 chain.doFilter(request,response); } public void init(FilterConfig filterConfig) throws ServletException { } }
配置过滤器
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <filter-name>globalFilter</filter-name> <filter-class>com.bjdata.favorite.servlet.GlobalFilter</filter-class> </filter> <filter-mapping> <filter-name>globalFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
Struts中配置编码
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.i18n.encoding" value="UTF-8"/> </struts>
返回json时乱码:
response.setCharacterEncoding("UTF-8");