我页面的一个链接是index.jsp?name=java基础培训教程      传到另一个页面上用String bookName=request。getParameter(“name”);进行赋值   并在前面用了<%request.setCharacterEncoding("gbk");%>   进行编码的设置  但是当用<%=bookName%>进行页面输出时传过来的中文却不能显示  显示的是问号  请问各位高手如何解决??

解决方案 »

  1.   

    在另一个页面上这样:
    String bookName = new String(requeset.getParameter("name").getBytes("ISO-8859-1"),"GBK");
    就OK了
      

  2.   

    我使用了您说的方法 但可惜的是还是不能通过啊   出来的还是 《 java??????? 》   
      

  3.   

    这里有解决你的问题的方法
    http://blog.csdn.net/lip009/archive/2006/09/07/1192022.aspx
      

  4.   

    试一试从UTF转到GB2312
    http://www.10zhizui.cn
      

  5.   

    回复3楼:  我用了你说的方法  在IE浏览器中可以完成 但是在MYIE(遨游)下就不可以  请问你知道什么原因吗?
      

  6.   

    每个页面上<%@ page contentType="text/html; charset=GBK"%>
      

  7.   

    如果浏览器的response的header中包含Content-type="GB2312" 
       那么取出来的字符就不用编码
    否则
       需要用String(requeset.getParameter("name").getBytes("ISO-8859-1"),"GBK"); 对字符进行编码如果浏览器的response的header中包含Content-type的值不对,那么不管用什么方法拿出来的字符都用问题
      

  8.   

    确保两个页面都设置编码为GBK
    <%=new String(requeset.getParameter("name").getBytes("ISO-8859-1"),"GBK")%>这个输出的就是正确的字符串
      

  9.   

    一个较麻烦的方法:
    发送:
    String pram = "java基础培训教程 ";
    index.jsp?name=<%=java.net.URLEncoder.encode(pram,"gb2312")%>接收:
    String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");
      

  10.   

    把web应用里的WEB-INF文件夹里面的xml配置文件里的encoding 属性改一下应该就可以了吧!(我是按照tomcat服务器说的)