重装了系统(ubuntu 14.04)原来正常可用的OpenERP项目在切换到开发者模式的时候报错:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
而在服务器上的项目正常可用,其原因是由于python的默认编码设置为ascii,可以用以下命令查看:
import sys sys.getdefaultencoding()
解决方案有两种:
1. 在项目启动文件中添加设置字符为utf8:
import sys reload(sys) sys.setdefaultencoding('utf8')
2. 在python的lib文件夹下的sitecustomize.py文件中添加代码:(我的文件位于/usr/lib/python2.7)
2 import sys 3 reload(sys) 4 sys.setdefaultencoding('utf8') 5 6 7 8 try: 9 import apport_python_hook 10 11 12 except ImportError: 13 pass 14 else: 15 apport_python_hook.install()
relaod(sys)一句是必须的
具体细节参看:http://yeelone.blog.51cto.com/1476571/957066