编写过JSP页面的朋友大概对于中文乱码问题已经是司空见惯了,网上对于这方面问题的解决办法也很多,在此我就不多赘述了。
但是最近我遇到了一个问题,就是我编写过的页面,有时候会显示繁体字;而这个是通常的GB2312和GBK编码方式所不能识别的,现在在页上的显示为?。
解决办法:
       将该页面的字符编码方式转换为UTF-8。但这样又会涉及到前后页面互相传参的问题,有时候会出现乱码。在此我列出我遇到过的几种情况供大家参考:

1、页面的编码方式设为UTF-8.
 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
2、在接收前面页面传过来的参数时,如果前面页面的编码为GB2312或GBK,那么接收表单数据时:

       request.setCharacterEncoding("GB2312");    
      String nowcount=request.getParameter("nowcount"); 

     如果前面的页面编码为UTF-8,那么:

       request.setCharacterEncoding("utf-8");    
      String nowcount=request.getParameter("nowcount");

  如果是通过URL传参数:
       request.setCharacterEncoding("utf-8");          
       String city=request.getParameter("city"); 
        city= new String(city.getBytes("iso8859_1"),"utf-8"); 

3、经过上面的转换,解决了问题的一大半,但还是遇到了新困难:
     如果在URL里面有两个参数:
     例:./index.jsp?city=北京市&type=B类
       那么在接收参数时,只能接收到city,city的值是"北京市&type=B类",其中"&"符号周围可能存在乱码,不能识别多个参数。最后我只能是将参数合在一起传过来,接收到了以后再split。解决了页面的显示问题。

   如果哪位朋友有这方面经验也希望能写出来与大家分享。