当我尝试在我的开发服务器上打印unicode字符串时,它正常工作,但生产服务器引发异常.
File "/home/user/twistedapp/server.py",line 97,in stringReceived print "sent:" + json File "/usr/lib/python2.6/dist-packages/twisted/python/log.py",line 555,in write d = (self.buf + data).split('\n') exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 28: ordinal not in range(128)
实际上它是扭曲的应用程序并打印转发到日志文件.
字符串的repr()是相同的.区域设置设置为en_US.UTF-8.
我需要检查哪些配置才能使它在两台服务器上都能正常工作?
解决方法
Twisted的内置日志观察器不支持Unicode.有关为此添加支持的进度,请参阅
http://twistedmatrix.com/trac/ticket/989,或查看可以提供帮助的内容.
在解决#989并且修复程序部署在Twisted版本的应用程序之前,请不要记录unicode.只记录str.