You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JSON中保存中文字符并在Python中正常打印?

解决JSON中文读取打印乱码问题

问题根源

  1. JSON格式不规范:你提供的JSON内容使用了单引号,而JSON语法强制要求键和字符串必须用双引号,虽部分场景下能解析,但这是不符合标准的写法,可能引发潜在问题。
  2. 终端编码不匹配:打印出现好这类乱码,本质是UTF-8编码的中文字符被终端以非UTF-8编码(比如Latin-1)解码导致的。

解决方案

步骤1:修正JSON文件格式

将JSON文件内容改为标准格式(替换所有单引号为双引号):

{"好": {"word": "好"}}

步骤2:调整Python代码确保输出编码正确

提供两种可行的代码方案:

方案1:强制标准输出使用UTF-8

import sys
import json

# 强制stdout输出UTF-8编码内容
sys.stdout.reconfigure(encoding='utf-8')

with open('chinese_character.json', 'r', encoding="utf-8") as f:
    contents = json.load(f)
    print(contents)

方案2:使用json.dumps直接输出中文

import json

with open('chinese_character.json', 'r', encoding="utf-8") as f:
    contents = json.load(f)
    # ensure_ascii=False 禁用ASCII转义,直接输出中文字符
    print(json.dumps(contents, ensure_ascii=False))

步骤3:确保终端编码为UTF-8

  • Windows命令提示符:执行命令 chcp 65001 切换到UTF-8编码
  • Linux/macOS终端:检查环境变量LANG是否为zh_CN.UTF-8或其他UTF-8编码,若不是可执行 export LANG=zh_CN.UTF-8 临时设置

内容的提问来源于stack exchange,提问作者Duc Huy Nguyen Tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 18:02:47