Python 中文乱码解决方法
来源:互联网 发布:json null 转为空 编辑:程序博客网 时间:2024/06/06 14:25
比如我从网上下载一些信息或写个电子邮件程序下载到本地,以记事本(txt)
形式写入并保存在本地计算机,为什么看到只是英文和乱码的?该怎样做呢?
答
乱码原因:
因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。
解决方法:
在控制台打印的地方用一个转码就ok了,打印的时候这么写:
比较通用的方法应该是:
下面我们看常用的中文乱码解决方法集
方法一:
在文件的开头加入编码声明:
#coding = gbk
s = '谷歌'
print s
输出结果:谷歌
方法二:
在输出时进行转码:
#coding = utf-8
s = '谷歌'
print unicode(s,'gbk')
输出结果:谷歌
txt文件中文乱码处理
某些软件,如notepad,在保存一个以utf-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xef 0xbb 0xbf,即bom)。因此我们在读取时需要自己去掉这些字符,python中的codecs module定义了这个常量
用unicode函数和decode方法把str转换成unicode。为什么这两个函数的参数用"gbk"呢?
第一反应是我们的编码声明里用了gbk(# coding=gbk),但真是这样?
修改一下源文件:
运行,报错:
显然,如果前面正常是因为两边都使用了gbk,那么这里我保持了两边utf-8一致,也应该正常,不至于报错。
更进一步的例子,如果我们这里转换仍然用gbk:
# coding=utf-8
s = "中文"
print unicode(s, "gbk")
结果:中文
- Python 中文乱码解决方法
- python 中文乱码解决方法
- python 中文乱码解决方法
- python中文乱码的解决方法
- python中文乱码的解决方法
- python sqlobject(mysql)中文乱码解决方法
- python代码中的中文乱码解决方法
- Python opencv 中文路径乱码解决方法
- Python连接mssql数据库乱码(中文变问号)解决方法
- Python BeautifulSoup中文乱码问题的2种解决方法
- Python 3下Matplotlib画图中文显示乱码的解决方法
- Python 操作MySQL中文显示乱码的解决方法
- Python 3下Matplotlib画图中文显示乱码的解决方法
- Python发送Http请求时,中文乱码问题的解决方法
- JbuilderX中文乱码解决方法
- Structs中文乱码解决方法
- struts2中文乱码解决方法
- SQLyog中文乱码解决方法
- [IOS开发]上传APP遇到Invalid Binary怎么办?
- VMware虚拟机上网络连接三种模式
- 通过Silverlight中Calendar控件的扩展学习XAML(下)
- 窗口支持文件拖入功能
- 非常齐全的营销推广方案
- Python 中文乱码解决方法
- 问答:AVAudioPlayer 一边播放一边缓存Data
- ASP.NET的事件模型
- 浅谈状态压缩的应用
- Android应用程序实现欢迎引导页面的方法实现
- Java URLClassLoader实现插件功能开发
- 第7章 图——图的深、广搜遍历
- Linux与VxWorks任务调度机制分析
- 编译器内置宏__FILE__,__LINE__