轉 python中包含UTF-8編碼中文的列表或字典的輸出

在python 下面一個包含中文字符串的列表(list)或字典,直接使用print會出現如下的結果:python

dict = {"asdf": "咱們的python學習"}
print dict
{'asdf': '\xe6\x88\x91\xe4\xbb\xac\xe7\x9a\x84python\xe5\xad\xa6\xe4\xb9\xa0'}
在輸出處理好的數據結構的時候很不方便,須要使用如下方法進行輸出:
import json
print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
{"asdf": "咱們的python學習"}
注意上面的兩個參數json

個人經驗:

要是已經有dict,還好。我是從mongo中拿,因此須要Json.loads,但老是有問題。因此這個方案不適合我。

若是是字符串,直接輸出或者
print str.encode("UTF-8")數據結構

對於其餘的編碼一樣使用。趕快試試吧。學習

在編輯一個別人的方案。未經驗證。編碼

all_symptom內容code

[python] view plaincopy在CODE上查看代碼片派生到個人代碼片
[u'\u773c', u'\u8179\u90e8', u'\u4e94\u5b98', u'\u53e3\u8154', u'\u8179\u90e8',
u'\u53e3\u8154']utf-8

[python] view plaincopy在CODE上查看代碼片派生到個人代碼片
str_symptom = str(all_symptom).replace("u\'","\'")
str_symptom.decode("unicode-escape")ci

個人經驗

這個方案是我後來使用的方案,不肯定效率。可是可行。
個人答案是 str_symptom.decode("unicode-escape").encode("utf-8"). 在用unicode解碼完過後,用utf-8編碼。
相關文章
相關標籤/搜索