我的数据库和JSP页面都是设置的GBK
显示中文的时候一点毛病没有,就是通过SERVLET中的response.sendRedirect跳转到JSP页面时出现乱码,全是???
代码如下:
response.sendRedirect("YPbianhaoModify.jsp?jinhuoshang="+jinhuoshang+"&jinhuoriqi="+jinhuoriqi)
跳转的地址栏显示:
http://127.0.0.1:8080/medicine/YPbianhaoModify.jsp?jinhuoshang=??om?jinhuoriqi=2007-09-23
望达人给解答下,试了好多办法都没成功.
显示中文的时候一点毛病没有,就是通过SERVLET中的response.sendRedirect跳转到JSP页面时出现乱码,全是???
代码如下:
response.sendRedirect("YPbianhaoModify.jsp?jinhuoshang="+jinhuoshang+"&jinhuoriqi="+jinhuoriqi)
跳转的地址栏显示:
http://127.0.0.1:8080/medicine/YPbianhaoModify.jsp?jinhuoshang=??om?jinhuoriqi=2007-09-23
望达人给解答下,试了好多办法都没成功.
或者用过滤器过滤一下中文问题..
还有..request和response都要set那个Encoder.....忘记那个英文
这样传递,如果有中文不乱码才怪
你是重定向
可以把这两个值放在session里传出去
a href='YPbianhaoEditAction?yaopinbianhao=${row.yaopinbianhao}
我的POST和GET都用了
request.setCharacterEncoding("GBK");
response.setContentType("text/html; charset=GBK");
还有就是我的参数特别多,用SESSION是不是太麻烦了
response.sendRedirect("YPbianhaoModify.jsp?jinhuoshang=进货商&jinhuoriqi=2007-09-23");这里的中文不进行处理,重定向的时候必然会出现http://127.0.0.1:8080/medicine/YPbianhaoModify.jsp?jinhuoshang=??om?jinhuoriqi=2007-09-23 用URLEncoder.encode()方法对中文处理吧。如:
String url = "YPbianhaoModify.jsp?jinhuoshang="+jinhuoshang+"&jinhuoriqi="+jinhuoriqi;
response.sendRedirect(URLEncoder.encode(url,"GBK"));//GBK是页面的编码格式,可根据情况修改
表单提交乱码使用 过滤器就可以完全解决
地址栏提交中文变乱码:两种解决方法,一种是写个方法进行编码转换,另外一种使用Tomcat的server.xml进行配置即可。我很少会碰到乱码的问题。
response.setCharacterEncoding("GBK");
这两句
注意:是接方法下面;简单一点;
response.setCharacterEncoding("gbk");
在SERVLET加入这两个,应该可以的
感觉还是你的设计思路在找你麻烦。
如果非得用中文传递,那么URLEncoder.encode,GBK|GB2312|UTF-8就要加上。
加一句,进货商该成进货商编号进行传递不是问题都没有了吗,我不信你进货商数据表里没编号的。
response.sendRedirect(URLEncoder.encode(url,"GBK"))这个方法
出现了如下错误:
HTTP Status 404 - /medicine/YPbianhaoModify.jsp%3Fjinhuoshang%3D%B9%FE%B6%FB%B1%F5%D6%C6%D2%A9%C1%F9%B3%A7%26jinhuoriqi%3D2007-09-23%26yaopinbianhao%3D7%26jinhuodanjia%3D14.0%26yaopinmingcheng%3D%CD%B7%E6%DF%CB%FB%B6%A8%28%D5%EB%29%26xiaoshoudanjia%3D28.0%26piyindaima%3DTBTD%26youxiaoqixian%3D2009-09-23%26yaopinguige%3D1g%26jiliangdanwei%3D%D6%A7%26rukushuliang%3D310
别把整个url都转了,会把所有?,&这些都破坏掉。
还是出现上面的错误.
response.sendRedirect(URLEncoder.encode("YPbianhaoModify.jsp?jinhuoshang="+jinhuoshang,"GBK"));
还是出现上面的错误.
response.sendRedirect("YPbianhaoModify.jsp?" + URLEncoder.encode("jinhuoshang="+jinhuoshang,"GBK"));
我都服了
准备挨个写到SESSION里传了
按环境要选择各种编码,写错了就是乱的。还有用utf-8的哪。一句话,用get传中文就是自己找罪受,你要是闲就一个一个试,说不定哪天就能试出好的来。
response.sendRedirect("/TravelSortInfoSystem/sendmessage.do?operate=GetyishenheList&receive="+receive);
这是我写的。
在页面中获取是用receive=request.getParameter("receive");
显示 是用<%=receive%>
就这样出现了乱码 郁闷啦
这里解释的很清楚。另外补充一句:过滤器过滤仅适用于post提交的,你在servlet中转向jsp则是get提交,所以即使在过滤器中加入了编码也还是会乱码