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

被折叠的 条评论
为什么被折叠?



