我得到一個Python:如何讓StringIO.writelines接受unicode字符串?
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 34: ordinal not in range(128)
下面存儲在「a.desc」字符串
,因爲它包含了「£」字。它以unicode字符串的形式存儲在底層的Google App Engine數據存儲區中,所以沒關係。該cStringIO.StringIO.writelines函數試圖看似試圖對其進行編碼,以ASCII格式:
result.writelines(['blahblah',a.desc,'blahblahblah'])
如何指示它來治療編碼爲Unicode,如果這是正確的措辭?
應用程序引擎有關python 2.5
我切換(cStringIO是爲了更好的性能),它沒有拋出錯誤,但打印'£'而不是'£'。 爲什麼''現在出現? – rutherford 2009-11-30 03:41:30
''是0xc2 0xa3的Windows-1252解碼,它是u'£'的UTF-8編碼。也許你的終端,應用或無論你看到的是爲Windows-1252而不是UTF-8配置的。 – Phil 2009-11-30 03:48:54
hmm。基本上我正在通過Chrome瀏覽器查看網絡服務器響應。那會是問題嗎? – rutherford 2009-11-30 03:53:02