跳至内容
wiki
用户工具
登录
站点工具
搜索
工具
显示页面
修订记录
导出 PDF
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您在这里:
start
»
linux
»
python
»
彻底搞懂python中文乱码问题
您的足迹:
•
yum_install_list
linux:python:彻底搞懂python中文乱码问题
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== 彻底搞懂 python 中文乱码问题 ====== 转: https://blog.csdn.net/joyfixing/article/details/79971667 总结 windows cmd 窗口下不支持utf-8,想要显示中文必须转换为gbk或者unicode,而 Python idle 中这三种编码都支持。中文乱码的出现都是由于编码不一致导致的,存储的是用utf-8,打印的时候用gbk就会乱码了,所有要保证不乱码尽量保持统一,建议全部使用unicode。 ### 直接以gbk编码保存数据,作者不推荐此方法 <code python> # encoding:gbk s = "中文" print s print repr(s) </code> ### cmd命令行可以支持直接打印unicode, 中文字符前加u表示用unicode存储 <code python> # encoding:utf-8 ## 表示字符用unicode存储,而不是默认的utf-8进行存储 s = u"中文" print s print repr(s) </code> #### 把中文强制转换为unicode编码 ## 通过前面的encoding:utf-8声明表示里面的中文是以utf-8进行编码的,通过decode可从utf-8解码成unicode <code python> # encoding:utf-8 s = "中文" ### utf-8 decode成unicode u = s.decode('utf-8') print u print type(u) print repr(u) </code> ##### 强制转为gbk, 不同编码之间的转换,都需要先转换成unicode,再转换到其它的编码 <code python> # encoding:utf-8 s = "中文" ### utf-8 decode成unicode u = s.decode('utf-8') ### 然后unicode再编码成gbk g = u.encode('gbk') print g print type(g) print repr(g) </code> <code> 总结 一口气说了这么多,不知道你们看懂没?想要不乱码,记住以下5点法则就好。 文件存储为utf-8格式,编码声明为utf-8,# encoding:utf-8 出现汉字的地方前面加 u 不同编码之间不能直接转换,要经过unicode中间跳转 cmd 下不支持utf-8编码 raw_input提示字符串只能为gbk编码 ———————————————— 版权声明:本文为CSDN博主「joyfixing」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/joyfixing/article/details/79971667 </code>
linux/python/彻底搞懂python中文乱码问题.txt
· 最后更改: 2023/03/17 10:12 由
127.0.0.1
页面工具
显示页面
修订记录
反向链接
导出 PDF
回到顶部