狂淘

www.kuangtao.net

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  6 随笔 :: 185 文章 :: 68 评论 :: 0 Trackbacks

1.JSP与页面参数之间的乱码

  JSP获取页面参数时一般采用系统默认的编码方式,如果页面参数的编码类型和系统默认的编码类型不一致,很可能就会出现乱码。解决这类乱码问题的基本方法是在页面获取参数之前,强制指定

request获取参数的编码方式:request.setCharacterEncoding("GBK")或request.setCharacterEncoding("gb2312")。

 servlet  如果在JSP将变量输出到页面时出现了乱码,可以通过设置response.setContentType("text/html;charset=GBK")或response.setContentType("text/html;charset=gb2312")解决。


----------------------------------
2、数据库乱码
  这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下:
  在数据库连接字符串中加入编码字符集
  String Url="jdbc:mysql://localhost/digitgulf?user=root&password=root&useUnicode=true&characterEncoding=GB2312";
  并在页面中使用如下代码:
  response.setContentType("text/html;charset=gb2312");
  request.setCharacterEncoding("gb2312");

3.中文作为参数传递乱码
  当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况,解决方法如下:
  在参数传递时对参数编码,比如
  RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords)
  然后在接收参数页面使用如下语句接收
  keywords=new String(request.getParameter("keywords").getBytes("8859_1"));

4.JSP中文乱码问题之四:Get方式表单传递和URI方式传递参数乱码

解决方案

apache-tomcat-6.0.18\conf\server.xml

在这个内加入一行

< Connector port="8080" protocol="HTTP/1.1"     connectionTimeout="20000"     redirectPort="8443"  URIEncoding="GBK" />

5.在b.jsp中把String name=request.getParameter("name");修改为

            String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");

6.JSP中文乱码问题更好的解决方法是使用过滤器技术

Encoding过滤器

package com.htt;   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;   public class Encoding implements Filter {       public void

destroy() {  }       public void doFilter(ServletRequest request, ServletResponse response,   FilterChain chain) throws IOException, ServletException {      

request.setCharacterEncoding("GBK");       chain.doFilter(request, response);       }       public void init(FilterConfig filterConfig) throws ServletException { }   }      

Web.xml文件中的设置

< filter>     < filter-name>encoding< /filter-name>     < filter-class>com.htt.Encoding< /filter-class>  < /filter>  < filter-mapping>     < filter-name>encoding< /filter-name> 

   < url-pattern>/ToCh_zn< /url-pattern>  < /filter-mapping>

posted on 2009-09-13 10:49 狂淘 阅读(677) 评论(0)  编辑  收藏 所属分类: jsp项目 传到服务器问题

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


网站导航: