Кодировки и словари в 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.

→ Ссылка