有没有什么办法能够解决JSP Servlet中 doPost 和doGet中的中文编码问题!
能够适用这两种请求方式的!使其在页面显示中文时能够正常!!!!
谢谢各位老大分享!!!
最简单的就是在JSP上面写把编码格式设置为pageEncoding="UTF-8"
好像在servlet里面也能设置编码格式吧,好像是‘request.setPageEncoding="UTF-8"’???
还有方法就是写个过滤器
package edu.aptech.accp.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;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
public class EncodingFilter extends HttpServlet implements Filter {
/**
* 设置编码格式
*/
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain fc) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
if(request.getMethod().equalsIgnoreCase("post")){
request.setCharacterEncoding("UTF-8");
}
fc.doFilter(request, res);
}
/**
* 此方法不用管,初始化用的
*/
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
我的这个不是一个中文乱码,而是页面输入的时候在textarea中显示 的字母不正常,当然也能看清是哪个字母,但有一个字母是看不清的,就是字母F,在textarea显示是缺少一行..请各位帮忙一下吧http://
<%@ page lan ......