cookie 设置中文

本文介绍了在Django中如何处理中文cookie的问题。由于cookie不支持直接存储中文,作者通过encode-decode和json.dumps尝试解决,但在客户端解析时仍遇到问题,需要额外的编解码步骤来正确显示中文。

在使用Django的时候需要将中文用户名写入cookie中
但是cookie的编码不支持中文,写入就会

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 114-115: ordinal not in range(256)

尝试了先encode再decode
但是结果并不好
所以用json dumps了一下

服务端

response.set_cookie('nickname',json.dumps(user.nickname))

客户端

接收的时候直接loads中文会变成\uxxxx的格式,并不像带在content里的数据一样可以直接解析回中文
所以需要多编解码一次

nickname = json.loads(req.cookies['nickname']).encode('utf-8').decode('unicode_escape')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值