存进去的语句是
Cookie chineseCookie = new Cookie("chineseCookie", URLEncoder.encode("中文", "UTF-8"));
chineseCookie.setMaxAge(36000);
response.setCharacterEncoding("UTF-8");
response.addCookie(chineseCookie);
读Cookie的语句是
String temp = new String(cookies[i].getValue().getBytes("ISO-8859-1"));
Cookie chineseCookie = new Cookie("chineseCookie", URLEncoder.encode("中文", "UTF-8"));
chineseCookie.setMaxAge(36000);
response.setCharacterEncoding("UTF-8");
response.addCookie(chineseCookie);
读Cookie的语句是
String temp = new String(cookies[i].getValue().getBytes("ISO-8859-1"));
读cookie的语句是
String temp = new String(cookies[i].getValue().getBytes("UTF-8"));但读出来的是:%E4%B8%AD%E6%96%87,和写在cookie中的是一模一样的字串
现将完整的代码列出,也好给碰到类似问题的朋友参考参考:
写Cookie:
Cookie chineseCookie = new Cookie("chineseCookie", URLEncoder.encode("中文", "UTF-8"));
chineseCookie.setMaxAge(36000);
response.setCharacterEncoding("UTF-8");
response.addCookie(chineseCookie);读Cookie:
Cookie[] cookies = request.getCookies();
for (int i = 0; i < cookies.length; i++) {
if ("chineseCookie".equals(cookies[i].getName())) {
String temp = cookies[i].getValue();
temp = URLDecoder.decode(temp, "UTF-8");
System.out.println("chineseCookie : " + temp); //测试打印语句
}
}