乱码是什么?

乱码是指文字变成一堆看不懂的符号或无关的汉字,例如 浣犲ソ 代替了 你好。文本用一种编码保存、却用另一种编码读取时就会出现,大多数情况下可以完整恢复。把乱码粘贴到下面的框里试一试。

支持文本和以下文件:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

例如 Excel 导出、数据库备份、字幕或网站代码。

修复

  1. 拖入文件或粘贴文本
  2. 自动修复
  3. 复制或下载
或把文件拖到这里
  • 无需上传。 文件直接在浏览器中修复,不会离开你的设备。

  • 服务器位于欧盟。 Mojibuster 运行在 芬兰(欧盟)的服务器上,受《通用数据保护条例》(GDPR)约束。 GDPR 全文(EUR-Lex,英文)

“乱码”和 mojibake

乱码在英文中叫 mojibake,来自日语“文字化け”,意思是“文字变了样”。上世纪 90 年代,日本同时使用 Shift_JIS、EUC-JP、ISO-2022-JP 等多种编码,乱码的邮件和网页随处可见,这个词也因此进入了英语。在中文里,人们习惯叫它“乱码”。

乱码是怎么产生的

计算机用字节保存文字,编码规定哪些字节代表哪个字。在 UTF-8 中,“你”保存为三个字节 E4 BD A0;而 GBK 每两个字节读成一个字,于是同样的字节就变成了完全不同的汉字,你好 成了 浣犲ソ。

这一步中字节本身并没有丢失,只是被读错了。所以用正确的编码重新读取,就能恢复原文。Mojibuster 会把乱码还原成字节,再按正确的编码读取。

UTF-8 文本被当成 GBK 读取时

乱码

浣犲ソ锛屼贡鐮佸凡缁忎慨澶嶄簡
鍖椾含甯傛湞闃冲尯

修复后

你好,乱码已经修复了
北京市朝阳区

常见的乱码类型

  • 浣犲ソ:UTF-8 文本被当成 GBK 读取,常见于用 Excel 双击打开 UTF-8 的 CSV 文件(Excel 打开 CSV 乱码)。
  • ÄãºÃ 这类带重音的拉丁字母:GBK 文本在西文系统中显示(GBK 转 UTF-8)。
  • 锟斤拷:UTF-8 里的替换字符 � 又被当成 GBK 读取后的样子,原来的文字已经丢失。
  • ? 或 �:无法转换的字符被替换,原文信息已经丢失。

乱码的常见原因

  • 用 Excel 双击打开没有 BOM 的 UTF-8 CSV 文件(会按 GBK 读取)。
  • 在 Mac 或只支持 UTF-8 的程序中打开 GBK(ANSI)文件。
  • 网页或邮件声明了与实际不符的编码(charset)。
  • 已经乱码的文字又被转换了一次。

乱码都能修复吗?

只要字节还在,大多数都能修复。但如果文字在保存或传输时已经变成 ?、� 或 锟斤拷,原来的信息就丢失了,无法恢复。Mojibuster 会修复所有能修复的部分,并告诉你有几处无法恢复。

如何避免乱码

  • 文件统一保存为 UTF-8,要用 Excel 打开的 CSV 保存为 UTF-8(带 BOM)。
  • HTML 中写 <meta charset="utf-8">,MySQL 和 MariaDB 使用 utf8mb4。
  • 导入数据时手动指定编码,不要让程序自动猜测。
  • 只在系统边界处转换一次编码。

常见问题

乱码怎么解决?

把乱码粘贴到上面的框中,或直接拖入文件,Mojibuster 会自动识别并修复。大多数乱码只是被用错误的编码读取,重新读取即可恢复原文。

文件是损坏了还是中毒了?

都不是。乱码只是显示问题,不是病毒,通常数据也没有丢失。

乱码和 � 有什么区别?

像 浣犲ソ 这样的乱码仍保留着原来的字节,可以修复。� 表示程序无法读取某个字节并替换了它,原来的字已经丢失。

文字会被上传吗?

不会。修复完全在浏览器中进行,文字不会被传输或保存。

更多指南