python 学习中的问题:

上一篇 / 下一篇  2014-01-20 14:04:15

乱码原因:
因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。


解决方法:

在控制台打印的地方用一个转码就ok了,打印的时候这么写:

print myname.decode('UTF-8').encode('GBK')

比较通用的方法应该是:

import sys
type = sys.getfilesystemencoding()
print myname.decode('UTF-8').encode(type)


---------------------------------------

# coding=utf-8
#!usr/bin/python
-
---------------------------------
因为不小心把编码修改为CP936了 所以用coding=utf-8的时候打印乱码, 所以现在只需要写下边的就可以了
# coding=cp936
#!usr/bin/python 


==========================================================

在执行python脚本时报如下错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128)


解决方法:

在python脚本中开头处加上以下两句代码即可:

  1. reload(sys)   
  2. sys.setdefaultencoding('utf8')  

TAG:

 

评分:0

我来说两句

Open Toolbar