有时候,在 Python 脚本里有中文的时候,会报下面的错误:
Non-ASCII character ‘\xe5’ in file ……
原因:Python默认是以ASCII作为编码方式的,如果在自己的Python源码中包含了中文(或者其他非英语系的语言),此时即使你把自己编写的Python源文件以UTF-8格式保存了,但实际上,这依然是不行的。
解决办法很简单,只要在文件开头加入下面代码就行了。
# -*- coding: utf-8 -*-
或
#coding: utf-8
注:此语句一定要添加在源代码的第一行。
几个概念要先搞清楚:
默认的python文件是采用ascii编码的,在头部加入# -*- coding: utf-8 -*- 则指定文件的编码格式是utf-8,那么就是说文件内你可以用中文或其他的文字了。
cn = u"中文",这个前缀u代表“中文”是采用unicode编码,也就是cn并不是string而是一个unicode。
当你用print输出的时候会自动根据本地的语言环境转换成string。