Servlet Cookie如何保存中文
Cookie的name和value都不能使用中文,如果希望在Cookie中使用中文,那么需要先对中文进行URL编码,然后把编码后的字符串放到Cookie中。
1. Cookie向客户端响应中添加中文
String name = URLEncoder.encode("姓名", "UTF-8");//中文编码存储 String value = URLEncoder.encode("张三", "UTF-8"); Cookie c = new Cookie(name, value); c.setMaxAge(3600); response.addCookie(c);
2. Cookie客户端请求中获取中文
response.setContentType("text/html;charset=utf-8"); Cookie[] cs = request.getCookies(); if(cs != null) { for(Cookie c : cs) { String name = URLDecoder.decode(c.getName(), "UTF-8");//解码成中文 String value = URLDecoder.decode(c.getValue(), "UTF-8"); String s = name + ": " + value + "<br/>"; response.getWriter().print(s); } }
Cookie保存只需把中文进行编码,然后读取的时候进行解码成中文即可。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。