1
私はBeautifulSoup4
を使用してPythonプログラムを書いている、と私は様式化された引用符u'\u2019'
が含まれているHTML要素を取得するとき、私はそうのような全体要素をプリントアウトすることができています:Python:1行のコードで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