我的腳本中有一個方法,它使用twilio模塊將Twitter RSS源解析爲FeedPharser,並將其封裝在TwiML(Twilio-flavored XML)中,並通過str()方法返回CherryPy方法中的響應。這在我的開發環境中工作得很好(Kubuntu 10.10);我的服務器上有不同的結果(Linode上的Ubuntu Server 10.10)。什麼可能導致UnicodeEncodeError異常蔓延到可用的Python環境中?
前幾個月,一切都很好。然後,上述方法開始失敗的東西,如:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 259: ordinal not in range(128)
但是,當我運行在相同的飼料完全相同的代碼,用相同的Python版本,在相同的操作系統,在我的開發,代碼執行得很好。但是,我應該注意,即使它正常工作,一些字符也不會輸出正確。例如:
’
而不是
'
爲了解決這一異常,我只是重建從頭開始我的VPS,這工作了幾個月,然後錯誤回來。
服務器自動安裝更新的Ubuntu軟件包,但我的開發框也是如此。我想不出任何可能導致這種情況的事情。任何幫助表示讚賞。
我會首先檢查2臺機器上的區域設置。 – geoffspear 2011-06-06 00:53:30
我該怎麼做呢? – 2011-06-06 00:56:52
究竟哪個部分失敗?調用'str()'?更完整的回溯會幫助很多(可能會更改文件名以保護無辜者)。 – fumanchu 2011-06-06 17:47:44