java.lang.IllegalArgumentException: Control character in cookie value or attribute.
·
中间件如下错误:java.lang.IllegalArgumentException: Control character in cookie value or attribute.如下图所示:

问题原因:
Cookie处理中文时编码问题,中文采用的是Unicode编码,而英文采用的是ASCII编码,当Cookie保存中文的时候需要对中文进行编码,而且从Cookie中取出内容的时候也要进行解码。
解决方案:
我这边使用的是jquery.cookie.js来处理Cookie数据,如下。
编码
var str=encodeURI(encodeURI("1008611ss-爱你哦"));
$.cookie("TestCookie", str, { expires: 7 });
解码
var msg=decodeURI(decodeURI($.cookie("TestCookie")));
alert(msg)
注意:
就是将取到的Cookie值进行编码,有时,需要编码2次,然后得解码一次。这点需要大家注意,这2种情况再开发过程中,都遇到过!所以大家在使用是,不要因为一次编码不成功,就认为对有中文的Cookie编码没用,得多多尝试,好了就到这了。
更多推荐
所有评论(0)