java.net.URLEncoder.encode(sql)是一个转换编码的,默认的是转成:
你可以
sql="?gh=0001&xm=" + java.net.URLEncoder.encode("忘忧草");
request.getParameter(java.net.URLDecoder.decode("xm"));
一般就不会有问题.
你可以
sql="?gh=0001&xm=" + java.net.URLEncoder.encode("忘忧草");
request.getParameter(java.net.URLDecoder.decode("xm"));
一般就不会有问题.
解决方案 »
- 一个关于Spring AOP代理模式的问题(AspectJ annotation风格)
- 救命的!这段代码怎么改啊?能登陆,但是不能跳转!急急急!!!
- response.sendRedirect("/uploadfile/down/"+uploadfile.trim()+"");难呀
- webBrowser与scriptX都不能满足我,还有什么控件?
- 谈谈行式填报
- 在eclipse中运行tomact不这样的提示,不知道是什么原因
- 概念不明,高手赐教。ant,Catalina,struts,JSF
- java问题,在函数体内执行的过程中,有两条语句直接跳过,为什么?
- 一个线程执行100次,如何统计出成功的次数
- 谁有JSF的有关资料啊
- 关于用String.getBytes("ISO-8859-1")进行中文处理的问题
- windows下Apche+ jsp服务器配置方法?(请详细,有重分相送)
java.net.URLDecoder.decode(request.getParameter("xm"));
我想问一下,这样做和我把整个sql先java.net.URLEncoder.encode,然后再分别取出来有什么区别嘛?
你的是什么系统?
用sql="?gh=0001&xm=" + java.net.URLEncoder.encode("忘忧草");
不行吗?
String temp_str = str;
byte[] temp = temp_str.getBytes("ISO8859_1");
haveChangedCharacter = new String(temp);
试一下,以前我用SQLServer 和tomcat就是这样弄的,没有问题
你说的是有道理,但是我目前用的调试服务器是WSAD,它做得比较好,不需要进行中文转换的啊。如果我把一个中文放在一个隐含域里,然后在另外一个页面直接request.getParemeter()的话,根本不会出现中文乱码的问题。只是在通过response.sendRedirect()重定向时,如果url中有中文的话,会出现中文乱码。所以我想这不应该是中文转换的问题吧,而且有一点,如果你在WSAD中用temp_str.getBytes("ISO8859_1");这样转换的话,反而会把中文转换成乱码!!
response.sendRedirect("?gh=0001&xm=" + java.net.URLEncoder.encode("忘忧草"));
接收:
String s=new String(request.getParameter("xm").getBytes("ISO8859_1"),"gb2312");
out.println(s);
你说的方法,我也试过了,好象就是不行那。哎,有没有用WSAD的朋友,也遇到过类似的情况啊?请不吝赐教!!!
http://expert.csdn.net/Expert/topic/1349/1349218.xml?temp=.2253534