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

Python读取JSON文件时×显示为×的编码问题解决求助

解决UTF-8与Windows-1252编码冲突导致的字符乱码问题

问题根源

你遇到的“×”变成“×”是典型的编码解码不匹配:UTF-8编码的“×”(二进制为0xC3 0x97)被错误地用Windows-1252编码解码,就会显示为“×”。

解决步骤

  • 指定正确编码读取文件:
    Python在Windows环境下默认编码是cp1252,读取UTF-8编码的JSON文件时必须显式指定编码:

    import json
    with open('你的JSON文件路径.json', encoding='utf-8') as f:
        json_data = json.load(f)
    

    读取后就能正确获取“×”字符,正则匹配直接用r'×'即可。

  • 如果文件本身是Windows-1252编码:
    先按原编码读取,再转成UTF-8处理:

    import json
    with open('你的JSON文件路径.json', encoding='cp1252') as f:
        raw_content = f.read()
    # 转码为UTF-8编码的字符串
    utf8_content = raw_content.encode('cp1252').decode('utf-8')
    json_data = json.loads(utf8_content)
    
  • 验证文件编码:
    在PyCharm中打开目标JSON文件,右下角会显示当前文件编码(比如UTF-8或Windows-1252),根据这个结果调整读取时的encoding参数即可。

内容的提问来源于stack exchange,提问作者Brandon Myers

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:21:12