无法解决编码的典型问题。通过邮件接收Cyrrlic文本并引发错误
'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
文本键本身有一个外观,它必须是俄语的西里尔文:u' \ u043f \ u0440 \ u043e'
之后错误尝试了这种方式和其他一些:
key = key.decode('ascii').encode('utf8')
或:
key = key.decode('ascii')
Localy它可以工作,只在生产中引发错误。生产中的Python系统编码是utf8
编辑:为了清理事情。表单处理函数出现错误(同样,工作localy,不在生产中)def search(request):
if request.method == 'POST':
key = request.POST.get("key")
if key is not None:
..
因此从输入表单中收到了str,并且此时首先出现错误,所以我认为必须对其进行解码,但它没有帮助。
更多追溯:
UnicodeEncodeError at /search/
' ASCII'编解码器不能对位置0-2中的字符进行编码:序数不在范围内(128)