為了方便記錄、收藏,一般情況下,搜尋功能會採用http get方式提供,類似的url:
/search?keyword=測試
在獲取keyword引數的時候,頁面表單的提交的引數將會是預期的編碼格式,但是如果是直接用「/search?keyword=測試」通過瀏覽器位址列訪問,瀏覽器將會根據系統環境(設定)對引數進行編碼(windows下,ff,opera一般為gbk;linux下,一般為utf-8),gbk/gb2312的編碼格式,在**中將會導致一些錯誤,如: 字串亂碼問題、mongodb統一使用utf-8做為儲存編碼。
開始想嘗試python中如何檢視字串的編碼格式,但是沒有找到適合的方法,現採取如下方式,對引數進行編碼(針對大多數的中文使用者)
def _process_keyword_coding(self, keyword):
try:
keyword = unicode(keyword, "utf-8")
except:
keyword = keyword.decode("gbk").encode("utf-8")
return keyword
頁面的流程下,是可以通過utf-8編碼的,否則將採取gbk方式進行解碼,然後再轉換成統一的utf-8格式,(當前使用的是python 2.6, python3.0 str預設情況下將會統一採取unicode)
這裡筆記下,如果有更好的方法,請大家分享 :)
瀏覽器URL編碼
1 瀏覽器編碼 ie6.0及以前版本,通過在位址列裡輸入url時,使用的預設編碼是gbk ie7.0 ie8版本,通過在位址列裡輸入url時,使用的預設編碼是utf 8,也可以在工具 高階選項裡修改 2 中文引數編碼例項 string version request.getheader user a...
瀏覽器快取url請求
最近遇到瀏覽器快取url的問題,google了一把,學到不少東西,結合網上其他人文章拼湊一篇,供大家交流。一 防止url被瀏覽器快取 根據 http 規範,get 用於資訊獲取,而且應該是冪等的。也就是說,當使用相同的url重複get請求會返回預期的相同結果時,get方法才是適用的。當對乙個請求有 ...
瀏覽器快取url請求
一 防止url被瀏覽器快取 根據 http 規範,get 用於資訊獲取,而且應該是冪等的。也就是說,當使用相同的url重複get請求會返回預期的相同結果時,get方法才是適用的。當對乙個請求有 的時候 例如,提交資料註冊新使用者時 應該使用post請求而不是get。所以瀏覽器會對get請求做快取處理...