千里马

天马行空

javaweb中中文乱码的解决方案(jsp和servlet)

1,以Post方式提交包含中文字符的表单
对于servlet加上:
   request.setCharacterEncoding("GBK");
  response.setContentType("text/html,charset=GBK");
对于jsp来说:
<%@ page=contentType="text/html;charset=GBK"%>
<% request.setCharacterEnconding="GBK" %>
2,以get方式提交包含中文字符的表单
  get方式中的中文字符是包含在URL中的,不属于http请求的正文部分,采用setCharacterEncoding()的方式是没有作用的,需要用以下代码,将字符串按照指定的编码方式进行重新分配。
    String param=request.getParameter("param");
   param=new String (param.getBytes(),"GBK");
3,jsp文件的编码问题:
<%@ page pageEncoding="UTF-8" %>
4,使用过滤器解决中文乱码问题
   如果每个jsp和servlet都加上上述的处理代码,就会显得冗余,使用过滤器就可以达到这样的效果:
     doFilter{
if(request.getCharacterEncoding()==null){
request .setCharacterEncoding("UTF-8");
}
response.setContentType("text/html;charset=utf-8");
chain.doFilter(request,response);
}
过滤器配置:
web-xml:
主要的一步:
<url-pattern>/*</url-pattern>

posted on 2012-05-30 13:21 Mr Lee 阅读(305) 评论(0)  编辑  收藏 所属分类: java技术


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿

随笔分类

随笔档案

文章档案

(hibernate)http://www.blogjava.net/dyllove98/archive/2012/05/12/377959.html

搜索

最新评论

阅读排行榜

评论排行榜