JSP中Request对象汉字乱码问题
发表在JavaWeb图书答疑 2012-09-26
是否精华
版块置顶:
index.jsp文件内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="show.jsp?name=张三&sex=男">解决中文乱码</a>
</body>
</html>

show.jsp文件内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
name参数的值为:<%=new String(request.getParameter("name").getBytes("iso-8859-1"),"UTF-8") %><br>
sex参数的值为:<%=new String(request.getParameter("sex").getBytes("iso-8859-1"),"UTF-8") %>
</body>
</html>

浏览器中显示结果:
name参数的值为:张三
sex参数的值为:&#65533; 
讨教:为什第一个可以成功转为汉字显示,第二个就不行了呢?该怎么改呀?
分享到:
精彩评论 1
无语_mrkj
学分:3155 LV11
2012-10-09
沙发
这个问题的解决办法是:在传递参数时进行URL编码,具体的代码如下:
<a href="show.jsp?name=张三&sex=<%=java.net.URLEncode.encode("男","utf-8")%>>解决中文乱码</a>
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照