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");