@IlyuhaShprotov

Записывается в json файл в другой кодировке, хотя ставлю ensure_ascii=False. Что делать?

Хочу сделать так, чтобы записывался словарь с данными о человеке. Вот код:

import json

start = {
    "money":"100",
    "reputation":"0",
    "rank":"Нет",
    "devices":"Нет",
    "Донат":"Нет"
}

dict.update([(id, start)])

with open('main.json', 'w', encoding="utf-8") as file:
            json.dump(dict, file, ensure_ascii=False, indent=4)


Всё работает верно, но почему то записывается вот так:

{
    "484175786": {
        "money": "100",
        "reputation": "0",
        "rank": "None",
        "devices": "Нет",
        "Донат": "Нет"
    }
}
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 2
@bacon
Если открыть utf-8 как windows-1251, то именно так и будет.
Ответ написан
2ord
@2ord
продвинутый чайник
Все и так записывается в UTF-8 безо всяких ensure_ascii=False. Не-ASCII символы при записи в JSON могут кодироваться как \uXXXX
Ответ написан
Ваш ответ на вопрос

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

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