我正在尝试更改旧的appengine应用程序,但现在在格式化我的电脑并安装更新的工具后,日志记录功能会引发unicode错误。
在之前的开发环境中,一切正常。 ubuntu 9.04 python2.6的 google appengine sdk 1.5
现在我正在尝试使用此环境进行更改: ubuntu 11.10 python2.7 google appengine sdk 1.6
在这个新的开发环境中,我使用日志记录功能会出错。
logging.info(u'Gerando lista de exibição') # error
错误:
'ascii'编解码器无法解码位置22中的字节0xc3:序数不在范围内(128) args =('ascii','Gerando lista de exibi \ xc3 \ xa7 \ xc3 \ xa3o',22,23,'ordinal not in range(128)') encoding ='ascii' 结束= 23 message ='' object ='Gerando lista de exibi \ xc3 \ xa7 \ xc3 \ xa3o ......' reason ='序数不在范围内(128)' start = 22
要工作,我需要删除重音:
logging.info(u'Gerando lista de exibicao')#ok
我的编辑器是utf-8,我的所有脚本都将“编码:utf-8”作为第一行。
这是一个版本问题?有一些设置要做吗?
答案 0 :(得分:3)
答案 1 :(得分:0)
您可以尝试在unicode and utf-8编码上查看此页面。战略和解决方法也包括在内。这是一个众所周知的问题,因为Python 2默认编码是'ascii'。
答案 2 :(得分:-1)
Python 2默认情况下不使用UTF-8作为源代码,否则您必须指定编码。见PEP-263
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
无论如何,在源代码中保留Unicode并不是一个好主意。