A. python中文顯示亂碼,已經在開頭有了coding: utf-8
你可能會遇到Python程序中中文顯示亂碼的問題,這通常是由於你的操作系統默認編碼格式與Python程序的編碼格式不一致所導致的。
盡管如此,幾乎所有的現代操作系統都支持Unicode編碼,因此,你可以通過在字元串前加一個'u'前綴來解決這個問題。
解決這個問題有兩種主要的方法。第一種方法是修改操作系統的默認編碼格式。例如,在Windows系統中,你可以通過命令行命令將其設置為UTF-8編碼格式。具體操作步驟是,在命令提示符中輸入以下命令:
chcp 65001
第二種方法是在Python文件中使用Python內置的方法(decode和encode)將文本解碼和編碼轉換為Windows系統的默認編碼格式,如GBK。如果你使用的是其他操作系統,你需要自行查找該系統的默認編碼格式。
需要注意的是,這種方法需要你對編碼格式有一定的了解。如果你不熟悉,可以通過在線資源學習如何識別和修改不同操作系統的默認編碼格式。
總之,通過上述兩種方法中的任一種,都可以有效地解決Python程序中出現的中文顯示亂碼問題。
B. python 用shelve讀取.dat文件中文亂碼問題
「得到的結果是'xb2xe2xcaxd4,並不是我想要的中文」 =》其實,你看到的'xb2xe2xcaxd4『,就已經是你想要的中文了。只不過是GBK編碼的,所以顯示出來的是'測試'這兩個中文字元所對應的GBK編碼的內部的值而已
如果你想要顯示出中文字元,而非內部值的話,可以,先將其轉換為Unicode,就可以看到中文了:
decodedName=Database['name'].decode("GBK")
print"decodedName=",decodedName#decodedName=測試
註:
1.不要用那個IDLE,不好用,容易讓你誤解。
2.在直接在cmd下測試即可。
更多的,極其詳盡的解釋,我專門為你寫了教程了。你一看就懂了:
【整理】Python中實際上已經得到了正確的Unicode或某種編碼的字元,但是看起來或列印出來卻是亂碼
(google搜標題即可找到我的帖子了)