默认情况下,cookie的值是不允许中文内容的。可以借助于java.net.URLEncoder先对中文字符串进行编码,将编码后的结果设为cookie值。当程序要读取cookie值时,先读取,然后使用java.net,URLDecoder进行解码。
使用如下:
<%
Cookie c=new Cookie("name",java.net.URLEncoder.encode("孙悟空","utf-8"));
c.setMaxAge(24*3600);
response.addCookie(c);
//获取本站在客户端上保留的所有Cookie
Cookie[ ] cookies=request.getCookies();
for(Cookie c;cookies){
if(c.getName().equals("name")){
out.println(java.net.URLDecoder.decode(cookie.getValue()));
}
}
%>