我有一页面如下:
<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");
%>
<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");
%>
<%@ page contentType="text/html; charset=gb2312" %>
<%request.setCharacterEncoding("gb2312"); %>2个页面加这个可以
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呀!
是ISO-8859-1,我这里发贴写错了,
我看有些书也是这么说,放在Try Catch块中,但是取中文都null了,我这页面程序还怎么能运行下去呢?值是必须要得到的呀,说得不好听的就是不能有异常呀.
http://blog.csdn.net/xiangxiangping/archive/2008/10/04/3014993.aspx
希望对你有所帮助
如果直接用get方法传参的话,要页面上调用js encodeURI(encodeURI(参数))在后台用java.net.Decode.decode(参数,编码(如UTF-8))获取