我们在使用中文存入cookie是会出现如下错误
严重: Servlet.service() for servlet [com.bjsxt.servlet.CheckIdentity] in context with path [/mechanical_spring_webapp] threw exception
java.lang.IllegalArgumentException: Control character in cookie value or attribute.
是因为在
Cookie cookie=new Cookie("curr_username",name);
cookie.setPath("/");
response.addCookie(cookie);
中name包含了中文,如要解决需要将中文进行编码String name=URLEncoder.encode(name,"UTF-8");
Cookie cookie=new Cookie("curr_username",name);
cookie.setPath("/");
response.addCookie(cookie);
就能成功加入到cookie中,在界面显示是由于经过编码,显示的是utf-8格式的,在页面显示中文就需要对其进行解码
var name=document.cookie;
decodeURI(name);
name显示就是中文了