Python 打印到控制台的JSON显示错误的编码

Python 打印到控制台的JSON显示错误的编码,python,json,python-3.x,utf-8,cyrillic,Python,Json,Python 3.x,Utf 8,Cyrillic,我试图从一些JSON文件中读取西里尔字母,然后在Windows上使用Python 3.4.3将其输出到控制台。正常印刷(“俄罗斯smthббббххы”)按预期工作 但当我打印JSON内容时,它似乎是在Windows-1251中打印的——“СЂССѓСССССССССЃѓѓССССѓССССЃѓѓѓєєєєССè232 我尝试将其重新编码为Win-1251,并将console设置为Win-1251,但仍然没有成功 我的JSON(以UTF-8编码): 我要加载字典的代码: 我尝试以两种方式输出它(

我试图从一些JSON文件中读取西里尔字母,然后在Windows上使用Python 3.4.3将其输出到控制台。正常印刷(“俄罗斯smthббббххы”)按预期工作

但当我打印JSON内容时,它似乎是在Windows-1251中打印的——“СЂССѓСССССССССЃѓѓССССѓССССЃѓѓѓєєєєССè232

我尝试将其重新编码为Win-1251,并将console设置为Win-1251,但仍然没有成功

我的JSON(以UTF-8编码):

我要加载字典的代码:

我尝试以两种方式输出它(两种方式都显示相同的胡言乱语):


一个有趣的附加组件:我已经将整个俄语字母表添加到我的JSON文件中,它似乎被“СС”字母卡住了。(加载字典时出错:“charmap”编解码器无法解码位置X:字符映射到的字节0x81)。如果我删除这一个字母,它不会显示任何异常,但上面的问题仍然存在。

“但是当我打印JSON内容时…”

如果使用
type
命令打印,则会在
CHCP 1251
范围下获得

尝试在范围下键入

接下来,使用
open(DictionaryName,encoding=“utf8”)

示例
39755662.json
UTF-8
编码一起保存):

“但当我打印JSON内容时…”

如果使用
type
命令打印,则会在
CHCP 1251
范围下获得

尝试在范围下键入

接下来,使用
open(DictionaryName,encoding=“utf8”)

示例
39755662.json
UTF-8
编码一起保存):


我们看到你是如何加载JSON的,但是你在哪里以及如何输出它?添加了这个信息,抱歉@打开(DictionaryName,encoding=“utf8”)
helps@nauer不,没有。在问问题之前我试过了。当你以二进制模式打开它时会发生什么
将open(DictionaryName,“rb”)作为f:
我们可以看到您是如何加载JSON的,但是您在哪里以及如何输出它?添加了此信息,抱歉@打开(DictionaryName,encoding=“utf8”)
helps@nauer不,没有。在问问题之前我试过了。当你以二进制模式打开它时会发生什么<代码>打开(DictionaryName,“rb”)作为f:
{
  "русские буквы": "что-то ещё на русском",
  "english letters": "и что-то на великом"
}
def load_dictionary():
global Dictionary, isFatal
try:
    with open(DictionaryName) as f:
        Dictionary = json.load(f)
except Exception as e:
    logging.critical('Error loading dictionary: ' + str(e))
    isFatal = True
    return
logging.info('Dictionary was loaded successfully')
print(helper.Dictionary.get('rly'))
print(helper.Dictionary)
==> chcp 866
Active code page: 866

==> type 39755662.json
{
  "╤А╤Г╤Б╤Б╨║╨╕╨╡ ╨▒╤Г╨║╨▓╤Л": "╤З╤В╨╛-╤В╨╛ ╨╡╤Й╤С ╨╜╨░ ╤А╤Г╤Б╤Б╨║╨╛╨╝",
  "rly": "╤А╤Г╤Б╤Б╨║╨╕╨╣"
}

==> chcp 1251
Active code page: 1251

==> type 39755662.json
{
  "русские буквы": "что-то ещё на русском",
  "rly": "СЂСѓСЃСЃРєРёР№"
}

==> chcp 65001
Active code page: 65001

==> type 39755662.json
{
  "русские буквы": "что-то ещё на русском",
  "rly": "русский"
}

==>