问题:
最近在开发中遇见一个问题,我想要将中文字符串存入cookie,以便在另一个接口使用,却发现取cookie的时候我想要的东西取不出来,那么就要使用如下方法解决。
解决:
1. 存cookie:
name = "中华小当家"
response = redirect("https://www.zzz.com")
response.set_cookie("name", name.encode('utf-8').decode('latin-1'), max_age=604800)
2. 取cookie:
name_cookie = request.COOKIES.get('nickname', None)
if nickname_cookie:
nickname = name_cookie.encode('latin-1').decode('utf-8')
测试举例:
# 编码问题
# 中文不能存入cookie
aa = '时间煮雨'
bb = 'stormztt'
# 编码:
result_1 = aa.encode('utf-8').decode('latin-1')
result_2 = bb.encode('utf-8').decode('latin-1')
print("编码后:" + result_1)
print("编码后:" + result_2)
# 解码:
result_a = result_1.encode('latin-1').decode('utf-8')
result_b = result_2.encode('latin-1').decode('utf-8')
print("解码后:" + result_a)
print("解码后:" + result_b)
结果:
编码后:时间ç®é›¨
编码后:stormztt
解码后:时间煮雨
解码后:stormztt