乱码原因:
因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。
因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。
解决方法:
@1 在开头 加上
# -*- coding: utf-8 -*-
@2 在控制台打印的地方用一个转码就ok了,打印的时候这么写:
print
myname.decode(
'
UTF-8
'
).encode(
'
GBK
'
) #如果还是报错,就采用下面的方法
@3 比较通用的方法应该是:
import
sys
type = sys.getfilesystemencoding()
print myname.decode( ' UTF-8 ' ).encode(type)
type = sys.getfilesystemencoding()
print myname.decode( ' UTF-8 ' ).encode(type)
原文链接:http://www.cnblogs.com/pao8041/archive/2010/04/08/1707442.html