@TemaKam

Как сделать так, чтобы не возникало ошибок с кодировкой при вставке в QTextBrowser?

вставляю строки из файла в qtextbrowser, потом сохраняю их в файл примерно так (при изменении qtextbrowser)
self.accounts = []
lists = self.all_accounts_task.toPlainText().split('\n')
for l in lists:
        if l != '' and l != '\n':
            self.accounts.append(l)
self.all_accs_task.setText(str(len(self.accounts)))
cfg = ConfigParser()
cfg.read('settings/default/tasks.ini', encoding='utf-8')
cfg[self.task_name].update({'accs': '\n'.join(self.accounts).replace('%', '%%')})
cfg[self.task_name].update({'all_accs_task': str(len(self.accounts))})
with open('settings/default/tasks.ini', 'w', encoding='utf-8') as setfile:
        cfg.write(setfile)

то есть указываю utf-8 везде, но если я вставлю строку, которая выглядит так
MQnwDKU.jpg
то в qtextbrowser она вставится кое-как UwdAXpw.jpg
но при сохранении в файл уже получаю ошибку
UnicodeEncodeError: 'utf-8' codec can't encode character '\uda36' in position 20: surrogates not allowed

а на самом деле там такие символы: iDkO7aO.jpg
как сделать так, чтобы такие символы вставлялись в qtextbrowser сразу нормально (на русском)?

настройки qtextbrowser:
GgmA2gs.jpg
  • Вопрос задан
  • 533 просмотра
Пригласить эксперта
Ответы на вопрос 1
yupiter7575
@yupiter7575
Python программист
использовать библиотеку io:
import io
with io.open('test.txt', 'w') as f:
    pass
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы