Как получить строку со специальными символами с ударением из файла config.ini configparser? - PullRequest
0 голосов
/ 01 марта 2020

У меня есть несколько строк, хранящихся в файле config.ini, который я извлекаю с помощью модуля configparser.

В моих строках есть несколько специальных символов:

config.ini

# -*- coding: utf-8 -*-
instagram_subject=êtes-vous intéressé?
instagram_msg=êtes-vous intéressé?

Я сохранил этот файл в блокноте с типом 'utf8'.

В моем коде, который извлекает эти строки, я получаю странный вывод.

Код

# -*- coding: utf-8 -*-
config = configparser.ConfigParser()
config.read('config.ini')
insta_mail_message = config['Instagram']['instagram_msg']
insta_mail_subject = config['Instagram']['instagram_subject']
print(f"insta_mail_message : {insta_mail_message}")
print(f"insta_mail_subject : {insta_mail_subject}")

Вывод

insta_mail_message : êtes-vous intéressé?
insta_mail_subject : êtes-vous intéressé?

Итак, все было так: декодировать, кодировать, декодировать и кодировать .... Он просто не хочет отображать мои символы с акцентами!

Может кто-нибудь сказать мне, как обрабатывать специальные символы из строк из файла configparser, пожалуйста?

1 Ответ

1 голос
/ 01 марта 2020

Configparser.read принимает аргумент кодировки, который определяет кодировку, которая будет использоваться при чтении файла конфигурации:

config.read('config.ini', encoding='utf-8')
...