jsp中取得Cookie的信息无法获得中文信息

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:42:41
<%@ page contentType="text/html; charset=gb2312"%>

<html>
<title>取得Cookie的信息</title>
<body>
<%

Cookie user1=new Cookie("id1","张小忠");
Cookie user2=new Cookie("id2","asf");
response.addCookie(user1);
response.addCookie(user2);

%>

<%
Cookie[] allcookie=request.getCookies();
for(int i=0;i<allcookie.length;i++)
{
String idx=allcookie[i].getName();
String value=allcookie[i].getValue();

out.print(idx+":");
out.print(value+"<br>");
}

%>
</body>
</html>
上面那个经Tomcat运行之后
org.apache.jasper.JasperException: 张小忠

后来我改成这样.
<%@ page contentType="text/html; charset=gb2312"%>

<html>
<title>取得Cookie的信息</title>
<body

汉字经常会有这样的问题,我用笨办法,把汉字编码后存储,用的时候再解码

参考 java.net.URLEncoder 和 java.net.URLDecoder 这两个类看看吧。
=========== Sorce ============
<%@ page contentType="text/html; charset=gb2312"%>

<html>
<title>取得Cookie的信息</title>
<body>
<%
String str1="张小忠"+(new java.util.Date()).toString();
String str =new String(str1.getBytes("iso8859-1"));
//Cookie user1=new Cookie("id1",str);
Cookie user1=new Cookie("id1",java.net.URLEncoder.encode(str1,"gb2312"));
Cookie user2=new Cookie("id2","asf");
response.addCookie(user1);
response.addCookie(user2);

%>

<%
Cookie[] allcookie=request.getCookies();
for(int i=0;i<allcookie.length;i++)
{
String idx=allcookie[i].getName();
String value=allcookie[i].getValue();
out.print(idx+":");
value = java.net.URLDec