python中文亂碼的解決方法
亂碼原因:
源碼文件的編碼格式為utf-8,但是window的本地默認編碼是gbk,所以在控制臺直接打印utf-8的字符串當然是亂碼了!
解決方法:
1、print mystr.decode('utf-8').encode('gbk')
2、比較通用的方法:
import sys
type = sys.getfilesystemencoding()
print mystr.decode('utf-8').encode(type)
1. Python中列表或字典輸出亂碼的解決方法
問題: Python中的列表(list)或字典包含中文字符串,直接使用print會出現(xiàn)以下的結(jié)果:
#打印字典 dict = {'name': '張三'} print dict >>>{'name': '\xe5\xbc\xa0\xe4\xb8\x89'} #打印列表 list = [{'name': '張三'}] print list >>>[{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}]
解決方案:
使用以下方法進行輸出:
import json #打印字典 dict = {'name': '張三'} print json.dumps(dict, encoding="UTF-8", ensure_ascii=False) >>>{'name': '張三'} #打印列表 list = [{'name': '張三'}] print json.dumps(list, encoding="UTF-8", ensure_ascii=False) >>>[{'name': '張三'}]
2. Python2.7的UnicodeEncodeError: ‘a(chǎn)scii' codec can't encode異常錯誤
#重置編碼格式 import sys reload(sys) sys.setdefaultencoding('utf-8')
以上就是python中文亂碼的解決方法的詳細內(nèi)容,更多關于python亂碼的資料請關注腳本之家其它相關文章!
相關文章
Python?pandas按行、按列遍歷DataFrame的幾種方式
在python的DataFrame中,因為數(shù)據(jù)中可以有多個行和列,而且每行代表一個數(shù)據(jù)樣本,我們可以將DataFrame看作數(shù)據(jù)表,那你知道如何按照數(shù)據(jù)表中的行遍歷嗎,下面這篇文章主要給大家介紹了關于Python?pandas按行、按列遍歷DataFrame的幾種方式,需要的朋友可以參考下2022-09-09解決Python?出現(xiàn)File?“<stdin>“,?line?1非語法錯誤的問題
這篇文章主要介紹了Python?出現(xiàn)File?“<stdin>“,?line?1非語法錯誤的解決辦法,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03