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

Instagram导出JSON聊天日志非ASCII字符解析失败问题求助

Instagram导出JSON字符编码修复方案

问题本质

你遇到的乱码是典型的编码二次错误:Instagram导出的UTF-8字节被错误地用Latin-1(ISO-8859-1)解码成字符串,导致像ó变成ó这类乱码。只要反向操作就能批量修复。

Python程序化修复方案

用递归遍历JSON结构,把所有错误编码的字符串转回正确格式:

import json

def fix_encoding(item):
    if isinstance(item, str):
        # 核心修复逻辑:错误解码的字符串转字节,再用UTF-8正确解码
        return item.encode('latin-1').decode('utf-8')
    elif isinstance(item, list):
        return [fix_encoding(sub_item) for sub_item in item]
    elif isinstance(item, dict):
        return {key: fix_encoding(value) for key, value in item.items()}
    else:
        return item

# 替换成你的原始JSON文件路径
with open('instagram_messages.json', 'r', encoding='utf-8') as f:
    raw_data = json.load(f)

fixed_data = fix_encoding(raw_data)

# 保存修复后的文件,ensure_ascii=False保留非ASCII字符
with open('fixed_instagram_messages.json', 'w', encoding='utf-8') as f:
    json.dump(fixed_data, f, ensure_ascii=False, indent=2)

这段代码会自动处理所有嵌套的字典、列表,一次性修复所有乱码字符串(包括表情符号)。

第三方工具快速修复

如果不想写代码,用文本编辑器就能搞定:

  • VS Code:打开JSON文件,点击右下角的编码标识(比如显示「UTF-8」),先选择「ISO-8859-1」,再重新选择「UTF-8」,乱码会自动修正,直接保存即可。
  • Notepad++:打开文件后,依次点击「编码」→「字符集」→「西欧」→「ISO-8859-1」,再点击「编码」→「转换为UTF-8」,最后保存文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 17:32:36