Pythonでutf-8でエンコードされたxmlファイルを読み取ろうとしていますが、ファイルから読み取った行で次のような処理を行っています:
next_sent_separator_index = doc_content.find(word_value, int(characterOffsetEnd_value) + 1)
doc_content はファイルから読み取られた行であり、word_value は同じ行の文字列の 1 つです。doc_content または word_value に Unicode 文字が含まれている場合は常に、上記の行のエンコーディング関連のエラーが発生します。そのため、以下のように (デフォルトの ascii エンコードではなく) utf-8 デコードで最初にデコードしようとしました。
next_sent_separator_index = doc_content.decode('utf-8').find(word_value.decode('utf-8'), int(characterOffsetEnd_value) + 1)
しかし、私はまだ以下のように UnicodeDecodeError を取得しています:
Traceback (most recent call last):
File "snippetRetriver.py", line 402, in <module>
sentences_list,lemmatised_sentences_list = getSentenceList(form_doc)
File "snippetRetriver.py", line 201, in getSentenceList
next_sent_separator_index = doc_content.decode('utf-8').find(word_value.decode('utf-8'), int(characterOffsetEnd_value) + 1)
File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 8: ordinal not in range(128)
Python 2.7 でこの種のエンコーディング エラーを回避するための適切なアプローチ/方法を誰かが提案できますか?