Python中文乱码
曾几何时 Python 中文总会出现奇奇怪怪的问题,每次出现中文乱码都要去网上搜索答案。
现在有的小伙伴为了躲避中文乱码的问题甚至代码中不使用中文,注释和提示都用英文,
但这并不是解决问题,而是逃避问题。
乱码原因
一般来说乱码主要是因为编码问题,总会自动存成ASCII
,而ASCII
没有中文
所以要存成UTF-8
,,这是为传输而设计的编码,并使编码无国界,可以显示全世界的字符
注释
可以在第一行书写注释声明,来告诉系统接下来要使用UTF-8
可以这样写
# encoding:utf-8
哎或者这样写
# -*- coding: UTF-8 -*-
虽然是注释但是系统会明白的
用 unicode 表示
只要像这样在中文前面加上个小u
标记,后面的中文就用 unicode
存储了。
# encoding:utf-8
s = u"中文"
print s
文件和编码声明都为 GBK
就是把 .py
文件改为 GBK
存储,而且编码声明也是GBK
# encoding:gbk
s = "中文"
print s
print repr(s)
用utf-8重新加载脚本
中文直接不显示的情况
在运行代码时以utf-8重新加载脚本
# -*- coding: UTF-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
编码设置为ANSI
直接使用maya的脚本编辑器编辑脚本默认储存为ANSI
或使用记事本另存为,选择编码:ANSI