Запись текста Unicode в текстовый файл?

Я извлекаю данные из документа Google, обрабатываю их и записываю в файл (который в конечном итоге я вставлю на страницу Wordpress).

Он имеет некоторые символы, отличные от ASCII. Как я могу безопасно преобразовать их в символы, которые можно использовать в исходном HTML?

Сейчас я конвертирую все в Unicode по пути, объединяю все вместе в строку Python, а затем выполняю:

import codecs
f = codecs.open('out.txt', mode="w", encoding="iso-8859-1")
f.write(all_html.encode("iso-8859-1", "replace"))

В последней строке есть ошибка кодирования:

UnicodeDecodeError: кодек 'ascii' не может декодировать байт 0xa0 в позиции

Я извлекаю данные из документа Google, обрабатываю их и записываю в файл (который в конечном итоге я вставлю на страницу Wordpress).

Он содержит некоторые символы, отличные от ASCII. Как я могу безопасно преобразовать их в символы, которые можно использовать в исходном HTML?

В настоящее время я конвертирую все в Unicode по пути, объединяю все вместе в строку Python, а затем выполняю:

import codecs
f = codecs.open('out.txt', mode="w", encoding="iso-8859-1")
f.write(all_html.encode("iso-8859-1", "replace"))

Ошибка кодирования в последней строке:

UnicodeDecodeError: кодек 'ascii' не может декодировать байт 0xa0 в позиции

Я извлекаю данные из документа Google, обрабатываю их и записываю в файл (который в конечном итоге я вставлю на страницу Wordpress).

Он содержит некоторые символы, отличные от ASCII. Как я могу безопасно преобразовать их в символы, которые можно использовать в исходном HTML?

Сейчас я конвертирую все в Unicode по пути, объединяю все вместе в строку Python, а затем выполняю:

import codecs
f = codecs.open('out.txt', mode="w", encoding="iso-8859-1")
f.write(all_html.encode("iso-8859-1", "replace"))

В последней строке есть ошибка кодирования:

UnicodeDecodeError: кодек 'ascii' не может декодировать байт 0xa0 в позиции 12286: порядковый номер не в диапазоне (128)

Частичное решение:

Этот Python работает без ошибок:

row = [unicode(x.strip()) if x is not None else u'' for x in row]
all_html = row[0] + "<br/>" + row[1]
f = open('out.txt', 'w')
f.write(all_html.encode("utf-8"))

Но затем, если я открываю фактический текстовый файл, я вижу множество символов, например:

Qur’an 

Может быть, я нужно писать не в текстовый файл?

219
задан Jean-François Fabre 19 June 2019 в 10:00
поделиться