2012-04-05 52 views
2

有時我會在用戶提交表單數據時在我的django網站中獲取下面的unicode錯誤。在django中重現unicode錯誤

「在第109位 'ASCII' 編解碼器不能編碼字符U '\ u2014':有序不在範圍內(128)」

我怎樣才能重現unicode的錯誤在我的系統

許多謝謝。

回答

5

使用unicode字符(例如é)提交導致錯誤的表單!

這是Django項目中非常常見的錯誤,它幾乎總是意味着你在某處調用str()。 Django在內部使用unicode字符串,但是當你調用str()時,你正在要求Python給你一個ascii字符串,這會失敗並顯示這條消息。

如果您向我們提供更多信息,我們將能夠爲您提供更多幫助。

祝你好運!

+0

或者,您可以(隱式地)在__unicode__方法中返回'str'。 – 2012-04-05 16:46:45

2

您是否在視圖中留下了任何調試打印?這將導致轉換到控制檯的編碼,這可能是ascii導致此錯誤。