这是什么字符集?

时间:2009-12-14 21:24:13

标签: database encoding csv

我从客户端收到了一堆CSV文件(看起来像是一个数据库转储),而且很多列都有这样奇怪的字符:

  • AlainLefÃÆ'Ã,¨vre
  • AngÃÆ'Ã,¨leDubeau& LaPietÃÆ'Ã,Â

这似乎是代表é的很多角色。有谁知道什么编码会产生é的许多字符?我不知道他们从哪里获取这些CSV文件,但假设我无法以更好的格式获取它们,我如何将它们转换为UTF-8?

3 个答案:

答案 0 :(得分:6)

看起来这是一个双重重新编码的UTF-8。 可能可以通过将其打开为utf-8来恢复数据,将其保存为Latin-1(可能),并再次将其打开为UTF-8。

答案 1 :(得分:4)

看起来它已经过了一个腐败过程,其中数据写成utf-8但是读作cp1252,这发生了三次。这可能是可恢复的(我不知道它是否适用于每个字符,但至少对某些字符来说)通过反向转换放入损坏的数据 - 读入为utf8,写出为cp1252,重复。有很多方法可以进行这种转换 - 使用Tordek建议的文本编辑器,使用下面的命令行工具,或者使用数据库或编程语言中内置的编码功能。

unix shell prompt> echo Alain Lefèvre | 
iconv -f utf-8 -t cp1252 | 
iconv -f utf-8 -t cp1252 | 
iconv -f utf-8 -t cp1252

Alain Lefèvre

unix shell prompt>

答案 2 :(得分:0)

  

这似乎是代表é的很多角色。

请记住,字符≠byte 。你在输出中看到的是人物;你需要做一些不寻常的事情来实际看到字节。 (我建议使用xxd应用程序安装的“od”工具;或者“enca”,GNU操作系统的Vim之一。)< / p>

  

有谁知道会产生哪种编码

一个擅长猜测字节流的字符编码的工具是“{{1}}”core utilities