日期:2014-05-16  浏览次数:20358 次

JSP中文传参的乱码问题
JSP中文传参的乱码问题

在action的后面用?来带参数值传递时,当传递的参数为中文时
后台接收会产生乱码

原因:
Tomcat的默认编码方式为 ISO-8859-1
假设JSP页面编码为UTF-8
那么中文参数会以UTF-8格式的字节码传给Tomcat
Tomcat拿到这个字节码以ISO-8859-1翻译
所以中文参数都会变成乱码
例如:
传参方式:<a href="001.jsp?name=鞋子">goto</a>
后台获取:String name = request.getParameter("name");

这里的“name”为ISO-8859-1编码的“鞋子”
可是jsp页面的编码则为UTF-8,所以显示为乱码

解决方法
用String转换 :
String str = new String(name.getBytes("ISO-8859-1"),"UTF-8");
//“UTF-8”则为jsp页面的实际编码
//此处的str显示为“鞋子”
(笔记--写码问题分析)