我試圖用Python和BeautifulSoup這個文件解析:Python的UnicodeEncodeError /維基百科API
http://en.wikipedia.org/w/api.php?format=xml&action=opensearch&search=rage_against_the_machine
第七項下來,因爲這文本標籤:
憤怒反對機器的1994年-1995 巡迴演唱會
當我試圖打印出「對機器的憤怒」小號1994-1995之旅」,Python是給我這個:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 31: ordinal not in range(128)
我只需更換U '\ u2013' 以解決這個問題 ' - ',像這樣:
itemText = itemText.replace(u'\u2013', '-')
然而,我沒有編碼的每個角色呢?我不想忽視它們,也不想列出每一個可能的發現和替換。
當然,一個庫必須存在,試圖從一個常見的已知編碼列表中檢測編碼(但很可能是錯誤的)。
someText = getTextWithUnknownEncoding(someLocation);
bestAsciiAttemptText = someLibrary.tryYourBestToConvertToAscii(someText)
謝謝
你在Windows上嗎? –
*您如何*打印文本?到終端,到一個文件?你在任何地方連結(str1 + str2)嗎? –
是否[如何在Windows中的控制檯中顯示原生語言?](http://stackoverflow.com/q/3473166)幫助? –