Python的經典問題 中文亂碼

2021-08-25 18:36:47 字數 597 閱讀 6634

關鍵字:python utf-8 gbk 中文 亂碼

估計入門時都會遇到的。我是在windows下用的python25自帶的idle編輯執行的,發現執行指令碼得出的結果有一些中文顯示是亂碼,但有一些是 正常的。百思不得其解。首先檢視了一下原始檔的編碼格式,是utf-8。經過搜尋再搜尋,除錯再除錯,也換了幾個編譯器,發現比idle還糟糕(可能需要 進行encode設定)。問題終於解決了,一共花了俺將近5個小時,寫在這裡,希望遇到問題的人能搜尋到這裡,不再重犯。

亂碼原因:

因為你的檔案宣告為utf-8,並且也應該是用utf-8的編碼儲存的原始檔。但是windows的本地預設編碼是cp936,也就是gbk編碼,所以在控制台

直接列印utf-8的字串當然是亂碼了。

解決方法:

在控制台列印的地方用乙個轉碼就ok了,列印的時候這麼寫:

print myname.decode('utf-8').encode('gbk')

比較通用的方法應該是:

import sys

type = sys.getfilesystemencoding()

print myname.decode('utf-8').encode(type)

Hexo部落格Yilia主題中文亂碼問題的解決

開啟根目錄中的 config.yml檔案,進行如下設定,更改的適合注意 後面有空格。language zh cn或者 language zh hans具體設定成哪一種可檢視themes yilia language中有什麼,像我這樣就設定成了第一種。修改過後如還出現亂碼就檢查hexo目錄下 conf...

python 中文亂碼問題

python 中文亂碼問題 python 預設編碼和系統編碼有關 linux 下用locale命令可以檢視 加入以下編碼可以將預設編碼設定為utf8 import sys reload sys sys.setdefaultencoding utf 8 處理中文時候,可以用urllib.quote將u...

Python中文亂碼問題

字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 encode 成另一種編碼。decode的作用是將其他編碼的字串轉換成unicode編碼,如str1.dec...