博客
简体中文

乱码修复工具 — 在线还原编码错误的乱码文字

逆向尝试各种可能的编码组合来修复乱码

在浏览器中处理 · 不上传任何内容

示例是被按 Windows-1252 读取的 UTF-8 文本。请换成你自己的乱码文本。

1 个候选结果。最可能:按 UTF-8 保存,按 Windows-1252 (Latin-1) 读取

  1. 最可能

    你好,世界!这是一段中文测试文本。

    按 UTF-8 保存,按 Windows-1252 (Latin-1) 读取

对 UTF-8、CP949(EUC-KR)、Shift_JIS 和 Windows-1252 的每种组合(共 12 种)进行逆向还原,被弄乱两次的文本会再还原一次。常见字符(拉丁字母、假名、KS X 1001 的 2,350 个常用韩文音节)越多、�、控制字符和零散 Latin-1 符号越少,排名越靠前。编码表遵循 WHATWG Encoding Standard;你的文本只留在浏览器中。

功能简介

乱码修复工具能把乱掉的文字还原成本来的样子。邮件标题里本该是“é”却显示成“é”,数据库导出的内容里撇号全变成了“’”,或者中文、韩文、日文变成了一串奇怪的符号,都可以试试。你不需要知道是哪两种编码搞混了:工具会尝试所有可能的组合,把最自然的结果排在前面。

使用方法

  1. 粘贴乱码文本。一开始会填入一个示例。
  2. 先看“最可能”的候选结果。
  3. 每个候选结果都会说明文本是怎样变成乱码的,例如“按 UTF-8 保存,按 Windows-1252 读取”。如果问题反复出现,请在误读文本的程序里修改这项设置。
  4. 复制你需要的候选结果。
  5. 如果找不到更好的结果,或者文本里满是 �,请用编码转换工具打开原始文件。

工作原理

  • 尝试的编码:UTF-8、CP949(EUC-KR)、Shift_JIS 和 Windows-1252(Latin-1),共 12 种组合。每次还原时,先用被误读时的编码把乱码文本编码回字节,再用字节真正的编码解码。
  • 第一步没有丢失任何内容的候选结果,会再还原一次,以捕获被弄乱两次的情况。
  • 排序时优先考虑拉丁字母和数字、日文假名以及 2,350 个常用韩文音节,对 �、控制字符、零散的 Latin-1 符号以及紧贴在拉丁字母前面的韩文扣分。产生新的 � 空缺的候选结果会被大幅降低排名。
  • 输入中 � 占 20% 或以上时,会先显示“无法从文本中恢复”的说明和编码转换工具的链接,并且只保留剩余文字清晰可读(常用韩文或假名)的候选结果,绝不会把看起来随机的杂乱字符当作修复结果。
  • 不处理 GBK、GB2312、Big5 等中文编码造成的乱码。
  • 编码表遵循 WHATWG Encoding Standard。

示例

乱码 原因 修复结果
Café crème UTF-8 按 Windows-1252 读取 Café crème
it’s UTF-8 按 Windows-1252 读取 it’s
中文 UTF-8 按 Windows-1252 读取 中文
한글 UTF-8 按 Windows-1252 读取 한글
À̸§ CP949 按 Windows-1252 读取 이름
譌・譛ャ隱槭� UTF-8 日文按 Shift_JIS 读取 日本語…(部分)
�ȳ��ϼ��� CP949 按 UTF-8 读取 无法恢复(显示说明和编码转换工具链接)

常见问题

乱码是怎么产生的?

文字是以字节保存的。用一种编码保存、却用另一种编码读取时,同样的字节就会显示成错误的字符。UTF-8 的“café”按 Windows-1252 读取会变成“café”,“中文”会变成“中文”。

什么情况下无法修复?

如果文本里满是 �(替换字符),说明原始字节在误读时就已经丢失,无法从文本中重建。典型例子是把韩文 EUC-KR 文件当作 UTF-8 打开。这种情况请用编码转换工具打开原始文件。

能修复“锟斤拷”“烫烫烫”这类乱码吗?

不能。这个工具只尝试 UTF-8、CP949(EUC-KR)、Shift_JIS 和 Windows-1252 之间的组合,不处理 GBK、GB2312、Big5 等中文编码。“锟斤拷”来自 GBK 与替换字符之间的转换,“烫烫烫”是未初始化内存的显示结果,都不在支持范围内。

应该相信哪个候选结果?

排在最前面的是读起来最自然的结果,但很短的文本可能有歧义。选读起来是正常句子的那个,并看看它是怎样变成乱码的说明。

能处理被弄乱两次的文本吗?

能。被误读、保存后又被误读一次的文本(é 变成 Â…),会分两步还原。超过 5,000 个字符的文本为了保证速度只还原一步。

为什么很短的日文有时修不好?

候选结果按自然程度排序,而很短的乱码本身混有汉字和假名,可能看起来也像正常文字。经 Shift_JIS 弄乱的“ありがとう”(“縺ゅj縺後→縺�”)可能没有候选结果,或排序不同。较长的文本排序可靠得多,所以请把前后的句子一起粘贴进来。

我的文本会被保存吗?

不会。所有处理都在你的浏览器中完成。

没找到想要的工具?