当前位置: 代码迷 >> Java Web开发 >> 使用response.sendRedirect(url) 重定向的url指定汉语get参数,接收页面获取的值为问号
  详细解决方案

使用response.sendRedirect(url) 重定向的url指定汉语get参数,接收页面获取的值为问号

热度:1031   发布时间:2016-04-16 21:40:47.0
使用response.sendRedirect(url) 重定向的url指定中文get参数,接收页面获取的值为问号
比如一个页面使用:response.sendRedirect("url?parameter=中文") 
重定向的页面内使用:request.getParameter("parameter");   结果为 ??????? 很多问号
服务器为tomcat,URLEncoding已设为utf-8,html为utf-8,respnse为utf-8; request为utf-8。
不使用response.sendRedirect()而使用表单get方式submit的话,则中文url显示、获取都正常。
这是为什么
------解决思路----------------------
String parameter = new String(request.getParameter("parameter").getBytes("iso-8859-1"), "utf-8");



String parameter = new String(request.getParameter("parameter").getBytes("iso-8859-1"), "GB2312");
------解决思路----------------------
中文会乱码的,用url decode编码中文
------解决思路----------------------
response.setContentType("text/html;charset=utf-8")
------解决思路----------------------
引用:
String parameter = new String(request.getParameter("parameter").getBytes("iso-8859-1"), "utf-8");



String parameter = new String(request.getParameter("parameter").getBytes("iso-8859-1"), "GB2312");

这种 方法应该可能有解决你的问题的。
  相关解决方案