当前位置:首页 > 开发 > Web前端 > 前端 > 正文

使用Cookie时报错:Control character in cookie value, consider BASE64 encoding your val

发表于: 2015-04-20   作者:wjiaoling136   来源:转载   浏览:
摘要: 使用Cookie存信息时,要是有中文,添加到response中时就会报错: Control character in cookie value, consider BASE64 encoding your value。具体什么意思就不管了(反正是中文乱码导致的),只说它的解决办法。   1、在拼接Cookie的value值时,使用“java.net.URLEncoder.decod

使用Cookie存信息时,要是有中文,添加到response中时就会报错:

Control character in cookie value, consider BASE64 encoding your value
具体什么意思就不管了(反正是中文乱码导致的),只说它的解决办法。

 

1、在拼接Cookie的value值时,使用“java.net.URLEncoder.decode()”方法将其转码:

 

cookieValue = URLDecoder.decode(cookieValue,"UTF-8");
 
2、在Java代码里取值时,先用“java.net.URLDecoder.decode()”方法再编码:
cookieValue = URLDecoder.decode(cookieValue,"UTF-8");
 这样子就能得到正常的数据了。
 
3、页面上使用JS获取Cookie中的值,通过用unescape方法,但是不知道为什么,我用这个方法时,中文得到的还是乱码。改成下面这样子就能正常获取了:
var cookieValue = decodeURI(cookieValue);//对 encodeURI() 函数编码过的 URI 进行解码。
cookieValue = unescape(cookieValue);//对通过 escape() 编码的字符串进行解码
 

使用Cookie时报错:Control character in cookie value, consider BASE64 encoding your val

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号