2012-10-30 61 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

有沒有其他的命令/語法會忽略這些字符而不刪除它們? –