科技
2007-07-13
ChenReal
2661
Request.getParameter会出现乱码 这个问题频频出现在非UTF-8编码的程序里头。 网上一般的解决方法有三个:
- 1、全部转成UTF-8
- 2、
request. setCharacterEncoding("GBK"); - 3、
String s=new String(request.getPrarameter("s").getBytes("ISO-8859-1"),"GB2312");
但是最近发现用了方法1仍然还会出现中文“乱码”的问题!
郁闷了多天后忽然恍然大悟——自己陷入了一个误区。
在gb2312的时候,我们习惯于这样的测试方法
test.jsp?s=测试
但在UTF-8则不同,必须加入urlEncode方可获得正确的中文编码。如果需要测试的话,最佳的方法还是
<form method="get" action="test.jsp">
<input name="s"/>
</form>
评论 (2)
海
2007-07-16 05:23知道就好~jsp一般都是统一先进行编码处理的,要不然会乱码问题出现,\r 看来这个符合你的风水+人品理论
chenreal
2007-07-16 09:47海GG,你没明白我的意思……\r 在GBK下:test.jsp?s=测试 是没问题的,但是在UTF-8下不行,需要变成 —— test.jsp?s=%E6%B5%8B%E8%AF%95\r 你还是回去练你的“慢性化骨绵掌”算了,嘿嘿