{"repo":"haodehaode378/text-encoding-guard","free":true,"listed":false,"github":"https://github.com/haodehaode378/text-encoding-guard","clone":"git clone https://github.com/haodehaode378/text-encoding-guard.git","description":"检测并修复 AI 编码助手导致的中文乱码（mojibake）。支持 GitHub Action 和 Claude Code hook。Detect and repair Chinese text encoding corruption caused by AI coding assistants.","language":"Python","stars":45,"topics":["chinese","ci","claude-code","copilot","cursor","encoding","github-actions","mojibake","code-quality","lint"],"license":"MIT","category":"dev-tools","readme_excerpt":"AI Text Encoding Guard 中文 &nbsp; &nbsp; English --- 中文 AI 编码助手把中文搞成乱码了？自动检测，一键修复。 问题是什么 当 AI 编码助手（Claude、Cursor、Copilot、Codex）编辑含中文的文件时，编码损坏会悄然发生。UTF-8 字节被误读为 GBK — 等你发现时用户已经看到乱码了。 HTML 标签损坏也能捕获： 谁会中招？ 场景 中招概率 后果 :----- :--------: :----- Claude Code 编辑含中文的 Vue/React 组件 极高 UI 文案全变乱码，用户直接看到 Cursor 批量重构中文注释 高 代码可读性归零，新人看不懂 Copilot 生成中文文档 中 README / CHANGELOG 变天书 CI/CD 自动化脚本处理中文文件 中 静默损坏，上线后才发现 安装 快速开始 不安装直接用 工作原理 七大检测维度 乱码类型 产生原因 检测信号 权重 :--------- :--------- :--------- :----: 口字码 UTF-8 读 GBK Unicode 替换字符 � +12 破标签 AI 编辑吞尖括号 损坏的 HTML 闭合标签 +10 古文码 GBK 读 UTF-8 18 个已知乱码码点 +2 锟拷码 UTF-8→GBK→UTF-8 双重转换 锟斤拷 模式匹配 +8 烫屯码 VC 调试未初始化内存 烫烫烫 / 屯屯屯 重复 +6 问句码 双重转换 中文后连续 ?? +8 符号码 ISO8859-1 读 UTF-8 拉丁扩展字符密集出现 +2 文件总分 0 即标记为可疑。分数越高，乱码越严重。 修复机制 --fix-gbk 不是盲目替换，遵循 三重安全门 ： 集成方式 GitHub Actions — 一行搞定 PR 有乱码自动拦截。 可选参数 Claude Code — 每次编辑自动触发 第一步 — 添加 PostToolUse hook： 第二步 （可选）— 安装 skill： CLI 参考 参数 说明 示例 :----- :----- :----- --root PATH 要扫描的根目录（必填） --root ./src --json JSON 格式输出 --json --fail-on-find 发现可疑文件时退出码 2 --fail-on-find --fix-gbk 尝试自动 GBK→UTF-8 修复 --fix-gbk --ext 添加额外扩展名（可多次） --ext .sql --ext .cfg --verbose 显示详细诊断信息 -v --quiet 静默模式 -q 扫描范围 默认 20 种扩展名： .py .md .txt .json .yaml .yml .toml .ini .js .ts .tsx .jsx .vue .html .css .scss .sh .bat .ps1 .xml 自动跳过： .git node modules dist build pycache .venv venv target .idea .vscode .claude 为什么用这个工具？ 对比项 本工具 手动检查 file/uchardet :------- :------: :--------: :-------------: 精确检测乱码 :white check mark: 评分制 :x: 肉眼看 :x: 只检测编码 自动修复 :white check mark: 保守+备份 :x: :x:","default_branch":null,"files":null,"tree":[],"storefront":"/r/haodehaode378","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/haodehaode378/text-encoding-guard/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}