修复文本和 CSV 编码

如果带重音的字母和特殊字符变成了一串莫名其妙的符号,说明文件是用错误的编码读取的。这个工具能把用旧版 Windows 编码保存的文件转换成 UTF-8,并修复被重复编码的文字,常见情况都能自动识别。还可以选择添加 Excel 正确读取特殊字符所需的标记。全部在你的设备上完成。

如何修复 CSV 编码

  1. 拖入出现乱码的 CSV 或文本文件。
  2. 源编码保持自动识别,或选择 Windows-1252、ISO-8859-1,或修复重复编码。
  3. 选择是否为 Excel 添加 BOM。
  4. 点击开始,然后下载修复后的 UTF-8 文件。

为什么特殊字符会变成乱码

如果文件中本该是带重音的字母、撇号、货币符号或中文的地方,显示成了两三个奇怪的符号,说明它是用错误的字符编码读取的。文本以字节形式存储,而编码就是把字节转换成文字的规则。现代系统使用 UTF-8。较老的 Windows 程序,尤其是 Excel,经常用 Windows-1252 这样的地区编码来保存和读取文本。用一种方式写入的文件被用另一种方式读取时,所有纯 ASCII 以外的字符都会出错。数据并没有丢失,只是被用错误的规则解码了。

两种不同的问题,两种修复方法

文件使用的是旧编码。从老旧 Windows 工具导出的 CSV 以 Windows-1252 或 ISO-8859-1 编码保存。需要 UTF-8 的工具会显示问号或替换字符。修复方法:告诉这个工具原始编码,它会把文件重新保存为 UTF-8,所有程序都能正确读取。

文件被重复编码,也就是所谓的“mojibake”。有人把 UTF-8 文件当作 Windows-1252 读取,然后又保存了一次,于是原本正确的字节各自被重新编码成了两三个错误的字符。每个带重音的字母前面都冒出一个带波浪号的大写 A,这种经典现象就是这么来的。修复方法:修复选项会把这些字符重新编码回字节,再按 UTF-8 正确解码,从而撤销这个错误。

自动识别

原始编码设为自动时,工具会先尝试以严格的 UTF-8 读取文件。如果失败,就改用 Windows-1252。如果读取成功,但文本中出现了重复编码的典型特征,就会自动进行修复。大多数情况下这样就够了;只有在自动结果看起来仍然不对时,才需要手动设置编码。

BOM 选项

Windows 版 Excel 打开 CSV 时仍然默认使用地区编码,除非文件以字节顺序标记开头。文件要回到 Excel 中使用时,请开启 BOM;如果用于数据库、编程工具和大多数网页导入功能,请保持关闭,因为其中一些会把这个标记当作第一列列名的一部分。

修复后的效果

症状修复后
带重音的名字中,每个重音字母的位置都变成了一个多余的大写 A 加一个符号Müller, José, Zoë
撇号和引号显示成三个奇怪的字符It's, "quoted"
欧元符号显示成一小串符号€ 25
本该是文字的地方变成了问号或方框选对原始编码后,恢复为原来的文字

输出是一个 UTF-8 文本文件,文件名和内容都不变,只是编码正确了。它适用于 CSV、TXT 和任何其他纯文本文件。整个过程不上传任何内容,修复在你的浏览器中完成。更多说明请阅读 CSV 在 Excel 中显示乱码怎么办。

常见问题

为什么带重音的字母会显示成奇怪的符号?

文件是以 UTF-8 写入、却按 Windows 编码读取的,或者正好相反。字符并没有丢失,只是用错误的规则解码了,这个工具可以把它还原。

文件会被上传吗?

不会。修复在你的浏览器中进行,文件始终留在你的设备上。

非欧洲语言也能修复吗?

只要原本是 UTF-8、后来被重复编码的文字都可以。如果文件确实是用某种地区编码保存的,这个工具目前支持西欧语言的编码。

应该添加 BOM 吗?

如果文件还要在 Windows 版 Excel 中打开,就添加;如果是导入数据库或编程工具,就不要添加。

你的文件绝不会 离开你的设备

Squishly Tools 的每个工具都完全免费,并且完全在浏览器中运行。你的图片和文档在自己的电脑上处理,绝不会上传到服务器。无需账号,没有水印,也没有任何套路。