文章目录

如果打印中文是以下的简单代码,会怎样?

1
2
3
4
5
# -*- coding: utf-8 -*-
__author__ = 'seven'
s = '中文'
print s

可以看到控制台输出是乱码..那么为什么会出现这个问题?怎么解决这个问题呢?

乱码原因

可以看到,我的文件声明是utf-8编码,但是win下的控制台输出是gbk编码,两者的编码不对应,输出自然会是乱码。

解决方法

一、文件声明编码为gbk

二、但是很多时候,我们是从其他地方得到的文件进行处理的,而该文件本身的编码方式就是utf-8,那么我们就在控制台输出的地方进行一个转码。

1
2
3
4
5
# -*- coding: utf-8 -*-
__author__ = 'seven'
s = '中文'
print s.decode('utf-8').encode('gbk')

这样转码之后,控制台输出就不会中文乱码啦。

文章目录