1
我正在寫使用BeautifulSoup4
Python程序,當我獲取包含一個程式化的引號u'\u2019'
我能打印出整個元素,像這樣的HTML元素:Python:爲什麼我可以在一行代碼上打印Unicode字符,但是當我稍後嘗試打印時,同一個Unicode字符會導致錯誤?
代碼:
print "Using song: %s" % (song_link)
結果:
Using song: <a href="http://www.songlyrics.com/anna-kendrick/cups-pitch-perfects-when-im-gone-lyrics/" title="Cups (Pitch Perfect’s 「When I’m Gone」) Lyrics Anna Kendrick">Cups (Pitch Perfect’s 「When I’m Gone」)</a>
但後來當我試圖打印出只是文本該元素的,它失敗:
代碼:
print "Song text: %s" % (song_link.text)
結果:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 30: ordinal not in range(128)
爲什麼會發生這種情況?爲什麼這個工作一會兒,然後不工作下一個?它是可重複的。
打印之前,只要在字符串上調用.encode('utf8'),似乎已經修復了它 - 謝謝! – Dasmowenator