in Python 3.8.2
Я пытаюсь открыть файл JSON и прочитать данные из него. Файл JSON закодирован в UTF-8, но когда я его читаю, кажется, что окончательная строка неправильно открывается как ANIS.
Пробовал с помощью Блокнота ++:
JSON Файл, открытый в UTF8:
"úterý, třicátého-prvního, sedumnáct v jedna dvacet dva"
Изменено кодирование на ANIS:
"ĂşterĂ˝, tĹ™icátĂ©ho-prvnĂho, sedumnáct v jedna dvacet dva"
Когда я копирую непосредственно в файл python, он правильно читается.
Моя программа:
import json
print('Wrong characters:')
with open('C:/Users/Tony/Desktop/test.json',
'r') as jfile:
data = json.loads(
jfile.read())
print(data)
print('Ok Characters:')
data2 = json.loads('{ "td": { "1": { "as": "úterý, třicátého-prvního, sedumnáct v jedna dvacet dva"}, "2": { "as": "úterý, třicátého-prvního, sedumnáct v třináct dvacet dva"}}}')
print(data2)
print('System settings:')
import sys; print(sys.stdout)
Вывод на консоль:
Wrong characters:
{'td': {'1': {'as': 'ĂşterĂ˝, tĹ™icátĂ©ho-prvnĂ\xadho, sedumnáct v jedna dvacet dva'}, '2': {'as': 'ĂşterĂ˝, tĹ™icátĂ©ho-prvnĂ\xadho, sedumnáct v tĹ™ináct dvacet dva'}}}
Ok Characters:
{'td': {'1': {'as': 'úterý, třicátého-prvního, sedumnáct v jedna dvacet dva'}, '2': {'as': 'úterý, třicátého-prvního, sedumnáct v třináct dvacet dva'}}}
System settings:
<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
test. json файл