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");
终极绝招
String channel =new String(request.getParameter("channel").getBytes("ISO-8859-1"),"UTF-8");
3、在使用printWriter时、又是放在设置编码的下面也可解决乱码问题。