使用URLEncoder和URLDecoder将中文字符进行编码和解码
如下所示:
String name = request.getParameter("name");
name = java.net.URLEncoder.encode(name,"gbk");
javax.servlet.http.Cookie c = new javax.servlet.http.Cookie("name",name);
c.setMaxAge(10000);
response.addCookie(c);
从cookie中取含有中文的数据时:
javax.servlet.http.Cookie cs[] = request.getCookies();
for(javax.servlet.http.Cookie c:cs){
if(c.getName().equals("name")){
String cval = c.getValue();
cval = URLDecoder.decode(cval,"gbk");
out.println("name = " + cval);
}
}
OK,这样就可以解决问题了。