Кодировки и словари в python 3.7
Есть функция
def saveJSON(data, path):
dataW = json.dumps(data, indent=4)
file = open(path, mode='w', encoding = "UTF-8")
file.write(dataW)
file.close()>
Функция получает словарь и записывает его в файл, проблема в том, что если пишу на кириллице, то значение по ключу получается
и так далее, очевидно не та кодировка, но в начале программы прописано# -*- coding: utf-8 -*- и encoding = "UTF-8" при открытии файла прописан, как же исправить
?
Ответы (1 шт):
Автор решения: Sergey Gornostaev
→ Ссылка
Это как раз та кодировка. JSON по стандарту может содержать только ascii-символы, соответственно, все прочие будут преобразованы в escape-последовательности utf-8. Если вам нужны строки в первозданном виде, то к вызову dumps надо добавить параметр ensure_ascii=False.