导航:首页 > 编程语言 > python代码中文乱码

python代码中文乱码

发布时间:2022-11-01 04:06:46

python终端输出乱码怎么解决

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

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

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

Python编码声明:

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

Vim中有关编码的选项:

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

Linux系统的编码设置:

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

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

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

② 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
printu'是'#方法1
print'是'.decode("gbk")#方法2
print'是'#方法3

注意:

#coding指明的编码必须和保存的编码一样,不然1,3方法都会产生错误,原因也是保存编码和读取编码不一致。一般IDE能够自动根据#coding保存文件

③ 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中文乱码解决

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

⑤ python命令行输入中文乱码怎么办

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

在python3不存在该问题

运行结果:

原因

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

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

解决方法

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

方法一

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

修改后运行结果:

方法二

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

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

·chcp 936 可以换回默认的GBK

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

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

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

⑦ 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中文乱码是怎么一回事

python报错invalid character in identifier,意思就是“标识符中的无效字符”,检查下有没有字符是中文的,把中文字符改成英文字符再运行就可以了。

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。

因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

(9)python代码中文乱码扩展阅读

Python 中文编码:

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。

解决方法为只要在文件开头加入# -*- coding: UTF-8 -*-或者# coding=utf-8就行了

注意:# coding=utf-8的=号两边不要空格。

实例:

(Python 2.0+)

#!/usr/bin/python

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

print( "你好,世界" )

输出结果为:

你好,世界

阅读全文

与python代码中文乱码相关的资料

热点内容
nfs怎么加密ipsec 浏览:245
国二考试调用编译器运算选择题 浏览:750
同济大学高等数学pdf 浏览:234
延时的宏命令怎么设置 浏览:596
数据库有哪些加密 浏览:209
改之理反编译注册教程 浏览:391
什么是编译程序和翻译程序 浏览:207
python课程心得总结 浏览:17
派派中怎么看对方在哪个服务器 浏览:794
xp配置java环境变量配置 浏览:7
python中1到100怎么算 浏览:765
小度我想看程序员 浏览:507
bs刷装备建立后文件夹没有 浏览:81
找漫画看应该下载什么app 浏览:182
如何在vps上搭建自己的代理服务器 浏览:744
nginxphp端口 浏览:403
内脏pdf 浏览:152
怎么看云服务器架构 浏览:87
我的世界国际服为什么登不进服务器 浏览:998
微盟程序员老婆 浏览:932