我页面的一个链接是index.jsp?name=java基础培训教程 传到另一个页面上用String bookName=request。getParameter(“name”);进行赋值 并在前面用了<%request.setCharacterEncoding("gbk");%> 进行编码的设置 但是当用<%=bookName%>进行页面输出时传过来的中文却不能显示 显示的是问号 请问各位高手如何解决??
调试欢乐多
String bookName = new String(requeset.getParameter("name").getBytes("ISO-8859-1"),"GBK");
就OK了
http://blog.csdn.net/lip009/archive/2006/09/07/1192022.aspx
http://www.10zhizui.cn
那么取出来的字符就不用编码
否则
需要用String(requeset.getParameter("name").getBytes("ISO-8859-1"),"GBK"); 对字符进行编码如果浏览器的response的header中包含Content-type的值不对,那么不管用什么方法拿出来的字符都用问题
<%=new String(requeset.getParameter("name").getBytes("ISO-8859-1"),"GBK")%>这个输出的就是正确的字符串
发送:
String pram = "java基础培训教程 ";
index.jsp?name=<%=java.net.URLEncoder.encode(pram,"gb2312")%>接收:
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");