当前位置: 技术问答>java相关
websphere/nt4.0/解决sendRedirect的中文问题
来源: 互联网 发布时间:2015-03-09
本文导语: str="服务器程序出错"; resposne.sendRedirect ("errorstr.jsp?str="+str); // errorstr.jsp页面 p_str=request.getParameter("str); out.println("p_str="+p_str); 显示将会出现乱码,用了论坛里面讲的方法,都不行,请各位帮助,如果成功,把全部分...
str="服务器程序出错";
resposne.sendRedirect ("errorstr.jsp?str="+str);
// errorstr.jsp页面
p_str=request.getParameter("str);
out.println("p_str="+p_str);
显示将会出现乱码,用了论坛里面讲的方法,都不行,请各位帮助,如果成功,把全部分40分送上。上次40分没人回答,这次51分
(我希望能只修改errorstr.jsp页面就能解决)
resposne.sendRedirect ("errorstr.jsp?str="+str);
// errorstr.jsp页面
p_str=request.getParameter("str);
out.println("p_str="+p_str);
显示将会出现乱码,用了论坛里面讲的方法,都不行,请各位帮助,如果成功,把全部分40分送上。上次40分没人回答,这次51分
(我希望能只修改errorstr.jsp页面就能解决)
|
str="服务器程序出错";
试试这个吧!
resposne.sendRedirect ("errorstr.jsp?str="+java.net.URLEncoder.encode(str));
// errorstr.jsp页面
p_str=request.getParameter("str);
out.println("p_str="+p_str);
如果,还有问题。给我发电子邮件: webservices@163.com
我想我能帮你!
试试这个吧!
resposne.sendRedirect ("errorstr.jsp?str="+java.net.URLEncoder.encode(str));
// errorstr.jsp页面
p_str=request.getParameter("str);
out.println("p_str="+p_str);
如果,还有问题。给我发电子邮件: webservices@163.com
我想我能帮你!
|
解释 URL 字符 encoding 问题。如果通过 get/post 方式从 browser 返回的参数值中包含汉字信息, servlet 将无法得到正确的值。SUN的 J2SDK 中,HttpUtils.parseName 在解析参数时根本没有考虑 browser 的语言设置,而是将得到的值按 byte 方式解析。这是网上讨论得最多的 encoding 问题。因为这是设计缺陷。不过最好将其中的中文 encoding GB2312、 CP1381 都改为 GBK,否则遇到 GBK 汉字时,还是会有问题。
Servlet API 2.3 提供一个新的函数 HttpServeletRequest.setCharacterEncoding 用于在调用 request.getParameter(“param_name”) 前指定应用程序希望的 encoding,这将有助于彻底解决这个问题。
Servlet API 2.3 提供一个新的函数 HttpServeletRequest.setCharacterEncoding 用于在调用 request.getParameter(“param_name”) 前指定应用程序希望的 encoding,这将有助于彻底解决这个问题。
|
还有可以在Application Server 的命令行参数中指定-Ddefault.client.encoding=GBK