有時我會在用戶提交表單數據時在我的django網站中獲取下面的unicode錯誤。在django中重現unicode錯誤
「在第109位 'ASCII' 編解碼器不能編碼字符U '\ u2014':有序不在範圍內(128)」
我怎樣才能重現unicode的錯誤在我的系統
許多謝謝。
有時我會在用戶提交表單數據時在我的django網站中獲取下面的unicode錯誤。在django中重現unicode錯誤
「在第109位 'ASCII' 編解碼器不能編碼字符U '\ u2014':有序不在範圍內(128)」
我怎樣才能重現unicode的錯誤在我的系統
許多謝謝。
使用unicode字符(例如é
)提交導致錯誤的表單!
這是Django項目中非常常見的錯誤,它幾乎總是意味着你在某處調用str()。 Django在內部使用unicode字符串,但是當你調用str()時,你正在要求Python給你一個ascii字符串,這會失敗並顯示這條消息。
如果您向我們提供更多信息,我們將能夠爲您提供更多幫助。
祝你好運!
您是否在視圖中留下了任何調試打印?這將導致轉換到控制檯的編碼,這可能是ascii導致此錯誤。
或者,您可以(隱式地)在__unicode__方法中返回'str'。 – 2012-04-05 16:46:45