python中文乱码怎么解决?
程序员文章站
2022-06-04 09:31:23
...
python中文乱码的解决方法:1、文件存储设为utf-8格式,并使用encoding将编码声明为utf-8;2、在中文前面加上个小u标记,将中文用unicode存储;3、把中文强制转换为GBK或者unicode编码。
python中文乱码问题的解决方法:
1、demo.py 文件和编码声明都为 GBK
这种方法比较笨,就是把 demo.py 文件改为 GBK 存储,而且编码声明也是GBK,个人不推荐。
# encoding:gbk s = "中文" print s print repr(s)
2、中文用 unicode 表示
只要在中文前面加上个小u标记,后面的中文就用 unicode 存储了。
# encoding:utf-8 s = u"中文" print s print repr(s)
cmd 下是可以打印 unicode 字符的,如下:
3、把中文强制转换为GBK或者unicode编码
强制转换为unicode编码,在 Python 中编码是可以互相转换的,比如从utf-8转换为gbk,不同编码之间不能直接转换,需要通过unicode字符集中间过渡下,从上面基础知识可知unicode是一种字符集,不属于编码,而utf-8是具体实现unicode思想的一种编码。utf-8转换为unicode是一种解码过程,通过decode可从utf-8解码成unicode。
# encoding:utf-8 s = "中文" u = s.decode('utf-8') print u print type(u) print repr(u)
强制转换为gbk编码,上一步已经从utf-8转换为unicode了,从unicode是编码的过程,通过encode实现。
# encoding:utf-8 s = "中文" u = s.decode('utf-8') g = u.encode('gbk') print g print type(g) print repr(g)
总结
windows cmd 窗口下不支持utf-8,想要显示中文必须转换为gbk或者unicode,而 Python idle 中这三种编码都支持。中文乱码的出现都是由于编码不一致导致的,存储的是用utf-8,打印的时候用gbk就会乱码了,所有要保证不乱码尽量保持统一,建议全部使用unicode。
更多相关知识,请访问 PHP中文网!!
推荐阅读
-
myeclipse2014导入web项目后页面中文显示乱码怎么办?
-
ChemDraw中输入中文会乱码怎么办?如何在ChemDraw中输入汉字?
-
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
-
解决SpringMvc后台接收json数据中文乱码问题的几种方法
-
如何解决springboot读取配置文件的中文乱码问题
-
PPTV网络电视界面出现乱码怎么办?PPTV界面出现乱码的解决方法
-
Android编程向服务器发送请求时出现中文乱码问题的解决方法
-
VS2010复制代码到word时出现中文乱码的解决办法
-
.NET中文乱码解决方案
-
Android Studio怎么解决导入项目的中文注释乱码的问题?