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

11 篇文章 0 订阅

使用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() 编码的字符串进行解码
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值