Проблема кодификации Python 3: UnicodeEncodeError: кодек «ascii» не может кодировать символ «\\ xed» - PullRequest
0 голосов
/ 13 апреля 2019

Я занимаюсь разработкой приложения Python, которое выполняет итерацию экземпляра Elasticsearch и сохраняет все документы в файле HTML.Я использую Apache 2 в качестве сервера и всегда получаю ту же ошибку Unicode: UnicodeEncodeError: кодек «ascii» не может кодировать символ «\ xed».

Я попытался закодировать строку с помощью encode ('utf-8'), и, похоже, что это позволяет избежать ошибки, но я получаю вывод в неправильном формате: 'b'Assidue As \ xc3 \ xadduamente.

Это код Python:

for row in resp["hits"]["hits"]:
    post = row['_source']['text']
    fichero_html.write(post)

Документы эластичного поиска хранят слова на испанском языке, поэтому графические акценты должны быть правильно отображены.

Заранее благодарим за вашеhelp.

EDIT:

Этот код прекрасно работает на консоли Python3, но не работает на стороне сервера.

for row in resp["hits"]["hits"]:
    post = (row['_source']['text'])+"</br></br>"
    post = post.encode('utf8')
    post = post.decode('utf8')
    fichero_html.write(post)

Может ли это быть что-то, связанное с конфигурацией сервера apache?

...