| « | February 2026 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | |
| 公告 |
| 暂无公告... |
| Blog信息 |
|
blog名称: 日志总数:29 评论数量:19 留言数量:0 访问次数:118533 建立时间:2006年5月29日 |

| |
|
[java与中文]乱码问题(十四) 软件技术
krf301 发表于 2007/4/16 22:44:28 |
| 中文乱码问题初步解决方案
一、request参数的乱码问题
现象描述:
login.html --> test.jsp
login.html中要求用户在表单中输入用户名和密码。如果用户输入的用户名为中文,则test.jsp获取此参数时为乱码。注意:此时的URL为:
http://localhost:8083/myweb/test.jsp?username=%D6%D0%CE%C4
处理方法有三种:
1) 对request.getParameter(“…”)取到的参数逐个new String(xxx.getBytes(“ISO-8859-1”), ”gbk”);
2) 在getParameter获取参数之前之前调用Request.setCharacterEncoding(“gbk”);
3) Filter方式
相关问题:
如果需要在sendRedirect中自己指定URL中的参数,如果写:
res.sendRedirect("/myweb/test.jsp?username=中文”); 则会出错。
处理方法:
只要能将上述URL中的参数写成” %D6%D0%CE%C4”格式就可以使用前面的方法解决。
通过下述代码可以实现这样的目的:
String new = java.net.URLEncoder.encode("中文","GB2312"); //此时的new值即为%D6%D0%CE%C4.
然后res.sendRedirect(“/myweb/test.jsp?username=”+new); |
|
|