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搜标题即可找到我的帖子了)