当前位置:首页 » 编程语言 » python27乱码

python27乱码

发布时间: 2022-05-05 22:32:04

‘壹’ python2.7打印中文乱码怎么办

由于python默认以ASCII编码,所以不支持中文。所以我们需要在代码前面写上“#_*_ coding:utf-8 _*_”或者#coding=utf-8.当然,如
果你代码中没有中文,就不需要加上了。
还有一个原因,由于python所运行的操作系统决定的,windows默认的编码方式是GBK编码,所以这也是一个导致中文乱码的原因之
一。
建议是不管你用什么,先在代码前面加上这一串,一定不会出现问题。
推荐学习《Python教程》。

‘贰’ python2.7中文乱码怎么破

1,读取到txt看结果
2,换个系统,不要用win
3,试试编码转化看看,这类教程也很多

还是换系统吧

‘叁’ python写文件中文乱码

解决思路:

修改excel 打开csv 文件的编码(可能会影响其它文件的打开,不作为首选方式)
修改python 打开文件的编码 utf-8 -> utf-8-sig
修改前的编码
f=open(filename,'w',encoding='utf-8')
修改后的编码
f=open(filename,'w',encoding='utf-8-sig')

‘肆’ python 乱码问题

解决方法:
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保存文件

‘伍’ Python2.7为什么Utf-8到GBK会变成乱码

程序没缩进,看着费劲!

#coding=utf-8

defrespeak():
cText=u'中文'#pyperclip.paste()
print(cText)
printrepr(cText)

print(' Afterencode:')
gbk_text=cText.encode('gbk')
print(gbk_text)
printrepr(gbk_text)

print(' Afterdecode:')
real_text=gbk_text.decode('gbk')
print(real_text)
printrepr(real_text)

if__name__=='__main__':
respeak()

[willie@localhost pys]$ python2.7 speak.py

中文

u'u4e26587'


After encode:

���

'xd6xd0xcexc4'


After decode:

中文

u'u4e26587'

‘陆’ python命令行输入中文乱码怎么办

python2.X,代码中指定了UTF-8,但是在cmd命令行窗口时,打印的中文仍然会乱码。

在python3不存在该问题

运行结果:

原因

中文windows默认的输出编码为gbk ,与脚本中定义的UTF-8不一样,所以出现了解码失败的情况。

相关推荐:《Python基础教程》

解决方法

有如下两种方法可以解决这个问题

方法一

我们可以通过先把中文解码为unicode,然后再转化为gbk来解决这个问题:

修改后运行结果:

方法二

当然,我们也可以通过改变cmd命令行窗口的输出格式来解决这个问题:

·chcp 65001 就是换成UTF-8代码页

·chcp 936 可以换回默认的GBK

但是这样就降低了脚本的兼容性,在其他环境运行的时候可能还会出现这样的错误,而且可能会影响其他脚本运行,所以推荐使用第一种方法。

‘柒’ python输出部分乱码


#-*-coding:UTF-8-*-
importsys

reload(sys)
print(sys.getdefaultencoding())#查看默认编码,我的是ascii
sys.setdefaultencoding('utf8')
print(sys.getdefaultencoding())#已经转为utf8了,应该没问题了

str=input('请输入:')#如果是python2建议用raw_input()
print'你输入的内容是:',str

热点内容
给定一个算法 发布:2024-05-19 17:50:08 浏览:864
恋爱生物种离线缓存 发布:2024-05-19 17:49:15 浏览:578
卡巴斯基服务器如何连接外网更新 发布:2024-05-19 17:42:06 浏览:560
手机虚荣怎么连接服务器 发布:2024-05-19 17:41:47 浏览:730
linux修改保存文件 发布:2024-05-19 17:30:38 浏览:666
网络有你脚本 发布:2024-05-19 17:29:55 浏览:770
黎明我的世界服务器 发布:2024-05-19 17:17:34 浏览:539
雷神g50如何设置安卓原生模式 发布:2024-05-19 16:50:04 浏览:121
c语言小数四舍五入 发布:2024-05-19 16:23:28 浏览:525
数据库被注入攻击 发布:2024-05-19 16:21:31 浏览:835