1、队请求和相应进行编码指定
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
也可在项目全局中指定编码过滤器
package net.hnspi.researchtrace.filter; 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; /** * @Title: EncodingFilter.java * @author zhanghua * @date 2011-10-4 下午7:40:59 * @version V1.0 * @Description: 字符编码过滤器,统一设置字符编码为UTF-8 */ public class EncodingFilter implements Filter { public EncodingFilter() { } public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); chain.doFilter(request, response); } public void init(FilterConfig fConfig) throws ServletException { } }
filenamedisplay = new String(displayName.getBytes("UTF-8"),"ISO-8859-1");
在servlet向jsp发送数据时出现乱码可用
filenamedisplay = new String(displayName.getBytes("UTF-8"),"ISO-8859-1");
3、在使用printWriter时、又是放在设置编码的下面也可解决乱码问题。