当前位置:首页 » 编程语言 » python输出的中文乱码

python输出的中文乱码

发布时间: 2022-07-07 01:50:56

‘壹’ python print中文乱码问题 win10 Python2

python2字符串编码的问题,如果要输出中文可以使用u前缀,这样就可以直接使用了

a=u'你好'
printa

这样就可以了

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

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

在python3不存在该问题

运行结果:

原因

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

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

解决方法

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

方法一

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

修改后运行结果:

方法二

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

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

·chcp 936 可以换回默认的GBK

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

‘叁’ python中文乱码解决

windows下的文件路径,cmd窗口等默认编码都是gbk
但在windows下编写python程序的时候,我们一般采用的编码是utf-8
二者不一致是导致乱码的根本原因!
在pycharm下,为了中文不乱码,那么需要注意一下几个方面:
一、每一个源程序文件头部,需要加上
#-*-coding:utf-8;-*-
这样就没有乱码了

‘肆’ python打印输出汉字,有一部分出现乱码怎么解决

主要“()”不要用中文括号
冒号不要用中文冒号
引号不要用中文引号
只有要打印的输入内容可以用中文的。
以上最好检查一遍,因为我打的时候经常打错,最好删了重打,因为两种括号太难区分了。

‘伍’ 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

‘陆’ python终端输出乱码怎么解决

在命令行终端上工作时,经常会碰到一个头疼的问题就是中文乱码。下面我们就来看一下解决python在终端输出乱码的解决方法。

牵涉编码的地方一共有五处:

  • Python代码文件前两行声明的编码

  • Python代码文件实际存储所使用的编码

  • Vim的显示编码

  • Linux系统的文件编码

  • SecureCRT等终端设置的显示编码

严格来讲,五码一致的时候,如果文件没有损坏,应该是能够正常显示了。

Python编码声明:

如果python代码文件中包含中文,就一定要在代码文件的前两行(注意:一定要是前两行)做出编码声明,否则python代码默认采用ASCII保存,这样遇到中文字符就会报错。在代码头部声明编码的方式有三种:

  • # coding=<encoding name>

  • # -*- coding: <encoding name> -*-

  • # vim: set fileencoding=<encoding name>

Vim中有关编码的选项:

在 Vim 中,有四个与编码有关的选项,它们是:fileencodings、fileencoding、encoding 和 termencoding。

Linux系统的编码设置:

Linux的系统编码设置可以通过设置locale来完成,直接在命令行敲locale,然后回车,即可查看当前系统的编码设置,与保存文件相关的设置是LC_CTYPE。

如LC_CTYPE=zh_CN.gb18030,即把系统的编码设置成为了gb18030。

更多Python知识请关注Python自学网

‘柒’ Python为什么一运行就是乱码

可能是编码问题,开头加上coding:utf-8试试。

‘捌’ python3 中文输出乱码问题

python 3和2很大区别就是python本身改为默认用unicode编码。
字符串不再区分"abc"和u"abc", 字符串"abc"默认就是unicode,不再代表本地编码、
由于有这种内部编码,像c#和java类似,再没有必要在语言环境内做类似设置编码,比如“sys.setdefaultencoding”;
也因此也python 3的代码和包管理上打破了和2.x的兼容。2.x的扩展包要适应这种情况改写。

另一个问题是语言环境内只有unicode怎么输出gbk之类的本地编码。

答按惯例都在(序列化)输出时才转换成本地编码。
比如

file.write("GBK的中文".encode("GBK"))

python环境内字符串用str.encode("GBK")方法输出成字节串用于和其他环境交流。

‘玖’ python中文显示乱码,已经在开头有了coding: utf-8

乱码原因:
因为你的文件声明为 utf-8,并且也应该是用 utf-8 的编码保存的源文件。但是 windows 的本地默认编码是 cp936,也就是 gbk 编码,所以在控制台直接打印 utf-8 的字符串当然是乱码了。

解决方法:

py文件用记事本打开,另存为utf-8格式即可

‘拾’ python 中文乱码问题

记事本是用utf-8保存你下载了东西的。你下载下来的不是utf-8,保存下来中文当然就乱码了。而gbk和utf-8里英文的编码值都一样,所以不受影响。

一个方法是你留意下目标页面的charset 和 contentType,另一个方法是你复制一个目标页面的字,放cmd里看它的编码长度,以此来判断它的原来编码。

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:433
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:744
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:147
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:240
java驼峰 发布:2025-02-02 09:13:26 浏览:652
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726