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)