2012-10-30 60 views
0

你们知道如何更改openerp文件的默认编码吗?设置默认编码Openerp/Python

我试过添加# -*- coding: utf-8 -*-但它不起作用(是否有一个设置忽略这个命令?只是一个疯狂的猜测)。当我尝试执行sys.getdefaultencoding()时仍然使用ASCII码。

问候

+2

_Python新用户有时会被sys.getdefaultencoding()返回的默认编码吸引。你应该了解的关于默认编码的第一件事就是你不需要关心它。它的值应该是'ascii',它用于将字节串StrIsNotAString转换为Unicode字符串。[DefaultEncoding](http://wiki.python.org/moin/DefaultEncoding) –

回答

4

注释# -*- coding: utf-8 -*-告诉蟒蛇解析器源文件的编码。它影响字节码编译器如何转换源代码中的unicode文字。它对运行时环境没有影响。

将字符串转换为unicode时,您应明确定义编码。如果您获得UnicodeDecodeError,请发布您的问题场景,我会尽力提供帮助。

+0

我有'UnicodeEncodeError',但能够使用这个'target_item.encode('ascii','ignore')修复它'使用它时有什么不好的暗示吗? 感谢您的帮助,虽然 –

+1

使用“忽略”处理程序删除有问题的字符。这意味着任何不在ascii范围内的字符都会在结果字符串中消失; 'u'Crédit'.encode('ascii','ignore')' - >'Crdit'' –

+0

有没有其他的命令/语法会忽略这些字符而不删除它们? –