本文目录一览:
- 1、怎么解决Python3乱码问题
- 2、python中文显示乱码,已经在开头有了coding: utf-8
- 3、python print中文乱码问题 win10 Python2
- 4、python解决csv文件用excel打开乱码问题
- 5、python异常乱码如何解决
- 6、为什么pip插件下载打开python是乱码?
怎么解决Python3乱码问题
如果是Python文件用编辑器打开时出现乱码,将编辑器调试成utf-8或者gb2312显示。如果是运行Python文件时显示乱码,则修改Python文件,在文件顶部添加:#
code
=
utf-8
python中文显示乱码,已经在开头有了coding: utf-8
这个问题是你操作系统的默认编码格式和你程序的编码格式不一致。但是所有的系统都是认可unicode编码的,所以你在前面加u就可以正常显示。两种办法,一种就是改变操作系统的默认编码格式,比如windows,利用命令行,将其改成utf-8编码格式;另一种就是类似在前面加u这种办法,在py文件里面,利用python的方法(decode,encode)将其解码,然后编码成window默认的gbk形式的(当然你用的其他系统的话,不一样的,你自己上网了解一下)。
python print中文乱码问题 win10 Python2
因为windows默认的编码方式是GBK,python文件保存时使用了utf-8,在读取时,python使用GBK的编码表去解utf-8编码的字节码,因为GBK与UTF-8编码不兼容,自然出现了乱码问题
解决方法:
1.直接使用 u'是' 形式,指明以unicode编码,解码方式会以顶部 #coding定义的编码方式,如果不写,以操作系统当前编码方法,建议写上#coding,因为要让操作系统编码和源文件编码经常会不一样。推荐使用这种方式
2.输出时指定解码方法 print '是'.decode("utf8") ,必须和保存的编码一致,忽略#coding的定义
3.将#coding 和保存编码改为和操作系统一样的编码,就可以直接print '是' 正常输出,也不推荐,因为需要事先知道操作系统编码,复制到其他电脑上,操作系统编码不一样就会出错
#coding=gbk
print u'是' #方法1
print '是'.decode("gbk") #方法2
print '是' #方法3
注意:
#coding指明的编码必须和保存的编码一样,不然1,3方法都会产生错误,原因也是保存编码和读取编码不一致。一般IDE能够自动根据#coding保存文件
python解决csv文件用excel打开乱码问题
【问题】
python输出的csv文件用excel打开,里面的中文会变成乱码,但用window下的记事本或mac下的numbers打开就正常显示。
原因是python输出的文件是utf-8编码写入的,excel默认以gbk方式读取,导致乱码发生。
【解决方法1】文件产出时encoding设置为utf-8-sig
用excel打开csv时,excel会先检查文件的第一个字符,来了解这个文件是什么编码方式,如果这个字符是BOM,excel就知道用utf-8的方式打开这个文件。python自带了处理BOM的编码方式uft-8-sig,因此只需要在文件产出时将encoding设置为utf-8-sig。
如果文件不是由python产出的,只需要以utf-8方式读入再以utf-8-sig方式存储即可
【解决方法2】懒人法,适用只含简体中文的文件
用记事本打开,点击另存为,右下角编码方式选择“ANSI”,这个过程是把这个文件改成gbk编码格式,excel就是默认用gbk方式打开的。
参考: Python写的csv文件,如何让 Excel 双击打开不乱码? - 云+社区 - 腾讯云
对编码格式一窍不通的可以阅读以下网页
python笔记——二进制和文件编码_砍柴姑娘Jourosy的博客-CSDN博客
编码方式之ASCII、ANSI、Unicode概述 - 蓝海人 - 博客园
【简单总结】:
1. 首先需要了解 字符集 和 字符编码 两个概念,字符集定义了字符和二进制的一一对应关系,字符编码规定了如何将字符的编号存储到计算机中。
2. Unicode是字符集,包含了全球文字的唯一编码,utf-8是编码方式,将unicode以某种方式存储到计算机中。
3. 有些字符集和编码是结合在一起的,称作字符集还是编码都无所谓,比如ASCII,GBK
4. ANSI是各个国家地区不同扩展编码方式的总称,互不兼容(可以看出来通用性没有utf好)
5. 不同编码方式在转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
python异常乱码如何解决
如果页面是GB18030编码,而数据库是GBK编码,一般来说是不用转换的。GB18030是GBK的超级。GB18030本身兼容GBK,而GB18030中的部分字符GBK中是没有的。将GB18030字符写入GBK的数据库,只会丢失部分字符而已。一般网页上不会出现罕见的字符,所以这种情况是无需处理的。
所以,请仔细核对页面和数据库的编码。
即使你提供的页面、数据库编码是正确的,而且一定要转换,也应该这样做:
s = 'GB18030字符串'
s = s.decode('GB18030') # 转化为unicode
s = s.encode('GBK') # 转化为GBK
为什么pip插件下载打开python是乱码?
这个文件不应该用文本编辑器直接打开。打开方式不对当然就会是乱码了。
举个例子。你用txt文本编辑器打开一张图片(后缀是jpg的文件)。也一样会是乱码。
直接用命令行安装即可。
希望我的回答对你有帮助