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>