在Python 2.7和Django 1.8 postman视图中,我在邮递员视图中有这个功能:
def mod1(message):
print 'message is', message #bob>mary:سلام
message = str(message) #without this I get 'Message' object has no attribute 'split'
sndr = message.split('>')[0]
print 'snder', sndr
#...
出现此错误
'ascii' codec can't decode byte 0xd8 in position 15: ordinal not in range(128)
奇怪的是,我可以在Python终端中进行拆分。
我还在视图顶部添加了# -*- coding: utf-8 -*-
。
感谢您解决此问题的提示。
答案 0 :(得分:0)
消息包含一些unicode文本。
如果您在正确编码时不小心打印它,那么您将收到这些错误。
它们是因为默认情况下Python会尝试仅使用ASCII编解码器进行编码,而ASCII编解码器无法处理阿拉伯字符。通常你想告诉它使用UTF-8或类似功能的编解码器进行编码。
str(something).encode('UTF-8')