在java编程时用到Cookie时,有时会出现字符异常,如下:
java.lang.IllegalArgumentException: Control character in cookie value or attribute.
原因是有关中文编码的问题,中文采用的是unicode编码,而英文采用的是ASCII编码,所以当在后台对COOkie保存中文的时候需要对中文进行编码,而且前台从Cookie中取出内容的时候也要进行解码,编码和解码可以使用
URLEncoder.encode(str, "utf-8");URLDecoder.decode(str,"utf-8");
注意:编码会把空格编码成+,所以需要人为字符替换replace("+","%20"),而解码不会影响,自动吧%20识别成了空格
前台js解码可以用:decodeURI(str)