代码之家  ›  专栏  ›  技术社区  ›  cdmckay

这是什么字符集?

  •  0
  • cdmckay  · 技术社区  · 15 年前

    我从一个客户端收到了一堆CSV文件(看起来像是一个数据库转储),其中许多列都有如下奇怪的字符:

    • 阿兰·勒弗尔

    这似乎是一个非常多的字符来代表一个。有人知道什么编码会产生这么多字符吗?我不知道他们从哪里获得这些CSV文件,但假设我无法获得更好的格式,我将如何将它们转换为类似UTF-8的格式?

    3 回复  |  直到 15 年前
        1
  •  4
  •   user8599 user8599    15 年前

    看起来它经历了一个破坏过程,数据被写为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
  •  6
  •   Tordek    15 年前

    也许

        3
  •  0
  •   bignose    6 年前

    这似乎是一个非常多的字符来代表一个。

    记得, . 您在输出中看到的是字符;您需要做一些不寻常的事情才能真正看到字节(我建议 xxd Vim od ,其中一个 core utilities 是GNU操作系统的一部分。)

    一个擅长的工具 猜测字节流的字符编码 enca Extremely Naive Charset Analyser .