recurly.API_KEY
并且recurly.SUBDOMAIN
必须传递str
对象。
如果您正在使用unicode_literals
或者您的配置源提供了unicode
值,您可能会遇到麻烦。在这种情况下,您需要通过str
if 值不包含非 ascii 字符或使用encode()
.
例如
from __future__ import unicode_literals
# You can force it like this
account.API_KEY = str('my api key here')
account.SUBDOMAIN = str('advanseez')
这样做可确保底层httplib
不会将 HTTP 标头转换为unicode
因此与消息正文中出现的任何非 ascii 字符冲突,这str
在使用 Recurly 客户端时始终存在。
这样,您可以使用unicode
.
例如
account = recurly.Account(account_code='12345689', first_name=u'Frédérique-François')
account.save() # Works without raising UnicodeDecodeError
有关问题的详细演示、解决方法和问题来源的解释,请参阅(注意使用import unicode_literals
,将默认字符串类型更改为 Unicode):https ://gist.github.com/maximehardy/d3a0a6427d2b6791b3dc