Python的中文编码问题真的是一个永恒的话题。特别是对于python2.7版本来说,默认的编码是不支持中文的,需要支持中文编码在python2.7中使用就必须使用相关的代码来进行编码转换。
本节课不介绍那些花哨的,就介绍通用的在python2.7中设定编码的方法,让大家的python脚本支持中文显示。大家跟着用就基本能够解决这个中文编码会乱码的问题了。
首先来大致了解一下基础知识,为什么会乱码?在python3以下的版本python的默认编码为ascii,这种编码不包含中文,所以通常需要使用支持中文字符的utf8(也可写成utf-8)。所以我们知道python3及以上的版本默认编码就是utf8,没有那么多我们的烦恼。
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了
注意:#coding=utf-8 的 = 号两边不要空格。
注意:Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
注意:如果你使用编辑器,同时需要设置 py 文件存储的格式为 UTF-8。
按上述方式,声明好了编码,有的同学还是发现在有些使用中文的场景下会出现乱码的现象,因此我们还需要加入如下的代码在后面,这样就能保证使用中文正常了。
import sys reload(sys) sys.setdefaultencoding("utf-8")
print命令是一个我们非常常用的python中的输出命令,在python2.7中,它的语法为:
print something
这里的something需要替换成你要输出的内容,中间是一个空格,不要漏了。(请注意该命令在python3以上的版本需要使用括号括住需要打印的内容,取消了空格这种形式)
当我们指定好脚本文件为utf8编码后,使用print时,需要注意,如果内容中包含任何中文汉字或标点等,需要在字符串引号前加上字母u,这样会将内容转换成unicode格式文本,打印出来时即可正常显示它本来的样子。
使用jupyter notebook默认情况下可以直接print中文,除非你运行了设置该notebook为utf8的代码。
以下是我们的视频教程:
在线观看:
内容已经隐藏,请注册为本站会员后查看
高清源文件下载:
内容已经隐藏,请注册为本站会员后查看
感谢大家的收看,我们下期再见!
评论