cookie存入中文报错出现问题

时间:2023-01-14 06:13:36

我们在使用中文存入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显示就是中文了