如何设置python的编码格式为utf-8

重装了系统(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

原文地址:https://www.cnblogs.com/kfx2007/p/3854889.html