django解決Cookie不能存入中文字元問題

2021-08-16 08:47:08 字數 1083 閱讀 1765

如何在cookie中獲取中文字元編碼問題

res.set_cookie('cookie',"我是cookie")
cookie中是不能設定中文字元的

網上大部分的說的是用一下三種方式解決,千篇一律的做法

筆者試過這三種,完全不起作用

瀏覽器控制台依舊不能產生中文字元的cookie

筆者曾想到使用encode('utf-8')將中文轉為二進位制在存入cookie中

存入確實是可以,但是問題來了,從cookie取出來的確實字串格式的二進位制編碼,什麼鬼?

cookie存進去的是二進位制b'\xe7\x93\x9c',取出來的卻是字串「b'\xe7\x93\x9c'」什麼鬼?

想不到怎麼把變為字串二進位制轉回為中文字元。

筆者最終想到了使用json模組

存入cookie

importjson

u=json.dumps("我是cookie")

print(u)#"\u6211\u662fcookie"

print(type(u),"#######")

res = redirect('/index/seek/')

res.set_cookie('seek',u)

returnres

取出cookie

seek = request.cookies.get('seek')

# print(seek)

importjson

seek=json.loads(seek)

print(seek)#我是cookie

json.dumps()自動將字串中的中文轉成unicode格式"\u6211\u662fcookie"

再通過json.loads()將其轉成中文

Django 跨域請求時不攜帶cookie

在前後端分離專案中,後端django 登入 中使用session。request.session username user obj.username request.session user id user obj.id request.session is login true 後端伺服器返回r...

django學習日記 cookie

path 用於從該cookie被指定的url使用,domin指定使用的網域名稱 www.baidu.com為二級網域名稱,baidu.com為頂級網域名稱 都只能在當前網域名稱和路徑下使用,secure 當用https時設為true,僅僅http網路傳輸可以使用 僅可保證相對安全 客戶端操作cook...

請求不攜帶cookie問題

因為後端需要用到cookie做一些判斷,所以在post請求前先寫入了cookie。在頁面未登入時,調介面能帶上cookie,登入後的請求沒有攜帶cookie,但是能看到cookie已經儲存了。axios.defaults.withcredentials true 配置了並沒有用 對比登入前後,發現是...