`
king_tt
  • 浏览: 2114751 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jsp输出中文页面乱码,中文提交后文本框里乱码,后台中文变乱码,全解决

 
阅读更多
一个过滤器,jsp输出中文页面乱码,中文提交后文本框里乱码,后台中文变乱码全部搞定

过滤器为下:

FilterEncoding

Java代码 收藏代码
  1. packagestruts.form;
  2. importjava.io.IOException;
  3. importjavax.servlet.Filter;
  4. importjavax.servlet.FilterChain;
  5. importjavax.servlet.FilterConfig;
  6. importjavax.servlet.ServletException;
  7. importjavax.servlet.ServletRequest;
  8. importjavax.servlet.ServletResponse;
  9. publicclassFilterEncodingimplementsFilter
  10. {
  11. protectedStringencoding;//接收字符编码
  12. protectedbooleanignore;//是否忽略大小写
  13. protectedFilterConfigfilterConfig;//初始化配置
  14. publicvoidinit(FilterConfigfilterConfig)throwsServletException
  15. {
  16. //从web.xml文件中读取encoding的值
  17. encoding=filterConfig.getInitParameter("encoding");
  18. //从web.xml文件中读取ignore的值
  19. Stringvalue=filterConfig.getInitParameter("ignore");
  20. //以下三种情况均为忽略大小写
  21. if(value==null)
  22. {
  23. ignore=true;
  24. }
  25. elseif(value.equalsIgnoreCase("yes"))
  26. {
  27. ignore=true;
  28. }
  29. elseif(value.equalsIgnoreCase("true"))
  30. {
  31. ignore=true;
  32. }
  33. }
  34. //doFilter方法
  35. publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException
  36. {
  37. if(ignore||request.getCharacterEncoding()==null)
  38. {
  39. //如果为空先从web.xml中得到
  40. Stringencoding=selectEncoding(request);
  41. if(encoding!=null)
  42. {
  43. //设置字符集编码
  44. request.setCharacterEncoding(encoding);
  45. }
  46. }
  47. //继续执行
  48. chain.doFilter(request,response);
  49. }
  50. //得到字符编码
  51. privateStringselectEncoding(ServletRequestrequest)
  52. {
  53. returnencoding;
  54. }
  55. publicvoiddestroy()
  56. {
  57. }
  58. }



web.xml里配置

Xml代码 收藏代码
  1. <filter>
  2. <filter-name>encoding</filter-name>
  3. <filter-class>
  4. struts.form.FilterEncoding
  5. </filter-class>
  6. <init-param>
  7. <param-name>encoding</param-name>
  8. <param-value>gbk</param-value>
  9. </init-param>
  10. </filter>
  11. <filter-mapping>
  12. <filter-name>encoding</filter-name>
  13. <url-pattern>/*</url-pattern>
  14. </filter-mapping>

jsp头文件

Html代码 收藏代码
  1. <%@pagecontentType="text/html;charset=gbk"%>
//此处的charset的值要和web.xml里的 <param-value></param-value>值一样

这样就可以在jsp输入汉字不是乱码了

如果是url的get提交参数带中文的
可以改下面这个文件,加入一个URIEncoding="GBK"
X:\Tomcat 5.5\conf\Server.xml
Xml代码 收藏代码
  1. <Connector
  2. port="8080"
  3. redirectPort="8443"
  4. minSpareThreads="25"
  5. connectionTimeout="30"
  6. maxThreads="150"
  7. maxSpareThreads="75"
  8. RIEncoding="GBK">

原文地址:http://heisetoufa.iteye.com/blog/227162

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics