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