如何设置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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值