我有一页面如下:
    <a  href="post.jsp?name=<%=val%>"></a>
url:  post.jsp?name=中文传递中文值时会报nullPointException异常,但值英文值就不会,页面能正确显示,请问这是怎么会事?(我是页面编码都设置了GBK)<%      request.setCharacterEncoding("GBK") 
      String str=request.getParameter("name");
      String result=null;
      result=new String(str.getBytes("ISO=8859-1"),"GBK");
      
%>

解决方案 »

  1.   

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%@ page contentType="text/html; charset=gb2312" %>
    <%request.setCharacterEncoding("gb2312"); %>2个页面加这个可以
      

  2.   

    request.setCharacterEncoding("GBK")  
      String str=request.getParameter("name");
      String result=null;
      result=new String(str.getBytes("ISO=8859-1"),"GBK");
    有点冲突,设置了setCharacterEncoding就没必要用getBytes()了呀
    再说了,你getBytes("ISO=8859-1")写错了,应该是ISO-8859-1
    传中文也不可能为null呀!
      

  3.   


    是ISO-8859-1,我这里发贴写错了,
      

  4.   

    今天才学的 你的编码不对  默认的是gb2312  还有你应该在设个null  出现异常了   
      

  5.   


    我看有些书也是这么说,放在Try Catch块中,但是取中文都null了,我这页面程序还怎么能运行下去呢?值是必须要得到的呀,说得不好听的就是不能有异常呀.
      

  6.   

    看我的帖子
    http://blog.csdn.net/xiangxiangping/archive/2008/10/04/3014993.aspx
    希望对你有所帮助
      

  7.   

    当参数值为中文时,传参的时候要么用post传参
    如果直接用get方法传参的话,要页面上调用js  encodeURI(encodeURI(参数))在后台用java.net.Decode.decode(参数,编码(如UTF-8))获取
      

  8.   

    Google 搜:Tomcat GET 乱码 site:csdn.net这问题是 CSDN Java Web 版的周经帖,每周必出现一次!