解决JSP中使用request乱码问题.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解决JSP中使用request乱码问题

核心提示:经常在讨论区看到有人问我的JSP显示中文有乱码怎么办,我用request得到的用户输入的中文怎么是乱码  经常在讨论区看到有人问我的JSP显示中文有乱码怎么办,我用request得到的用户输入的中文怎么是乱码,我把汉字写到数据库怎么是乱码,等等一些关于汉字乱码的问题。  其实这个问题很简单,管它汉字不汉字,还是日文,还是其他的什么双字节的语言,我们一律把它当作UTF-8看待。  (一)request中的双字节文字  好下面我们就来实现在整个应用程序中使用UTF-8编码工作,之所以选择UTF-8不仅仅之于上述原因,我们知道java的就是基于在UTF-8之上的,所以我们选择UTF-8应该没错^_^  我们首先把我们的.java, .jsp文件都用UTF-8编码来保存,如果以前的没有用UTF-8保存也无所谓,但是建议以后写的都用UTF-8来保存。  并在.jsp里面写:%@page contentType=text/html; charset=UTF-8%而不是%@page contentType=text/html; charset=UTF-8%  然后在web.xml添加下面一段:  web-app  ...  filter  filter-nameSet Character Encoding/filter-name  filter-classadmin.util.filters.SetCharacterEncodingFilter/filter-class  init-param  param-nameencoding/param-name  param-valueUTF-8/param-value  /init-param  /filter  filter-mapping  filter-nameSet Character Encoding/filter-name  url-pattern/*/url-pattern  /filter-mapping  ...  /web-app  其中admin.util.filters.SetCharacterEncodingFilter的代码如下:  package admin.util.filters;  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.UnavailableException;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  public class SetCharacterEncodingFilter  implements Filter {  protected String encoding = null;  protected FilterConfig filterConfig = null;  protected boolean ignore = true;  public void destroy() {  this.encoding = null;  this.filterConfig = null;  }  public void doFilter(ServletRequest request, ServletResponse response,  FilterChain chain) throws IOException, ServletException {  // Conditionally select and set the character encoding to be used  if (ignore || (request.getCharacterEncoding() == null)) {  String encoding = selectEncoding(request);  if (encoding != null) {  request.setCharacterEncoding(encoding); //就是这句话在工作的啦,哈哈,它:Overrides the name of the char

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档