當我們寫代碼時,都會碰到這樣那樣子的亂碼問題,有時候在網絡上面搜索半天也不一定可以解決,今天根據我的經歷,總結一下。
(1)首先呢,不管怎么樣我們寫代碼養成一個好習慣,在頭部主動添加以下,代碼會省掉不少麻煩
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
(2)然后碰到中文亂碼,我們引入字符串。
例如 s1 = "中國"
有時候我們代碼上面操作是很容易出現亂碼,我們可以在前面定義或者使用的時候加一個u
s1=u"中國"
(3)還有一種json的亂碼,一個明明的json的字符串,卻不能使用json.loads(),這里給大家看一下例子。
json.loads的時候,他只認里面是雙引號的,那是不是把他替換之后就可以認了呢?
看上面很明顯可以,但是有一種情況下,當前的情況還不能處理,還需要多加一步操作,具體就是替換引號前的 u-> 空 :
(4)瀏覽器傳參的時候,亂碼的問題,需要
urllib.unquote("傳參") --屏蔽特殊的字符、比如如果url里面的空格!url里面是不允許出現空格的。
按照標准, URL 只允許一部分 ASCII 字符(數字字母和部分符號),其他的字符(如漢字)是不符合 URL 標准的。
所以 URL 中使用其他字符就需要進行 URL 編碼
以上是我在開發過程遇到的編碼問題,希望可以幫助到大家!