【问题标题】:What kind of file I'm dealing with and how to load this into a MySQL table?我正在处理什么样的文件以及如何将其加载到 MySQL 表中?
【发布时间】:2016-06-08 02:58:24
【问题描述】:

我正在从 FTP 服务器下载这个文件,当我在 VIM 中打开它时,它看起来像这样:

当我在 Notepad++ 中打开它时,我看到了这个(看起来很正常):

所以我试着看看这个文件的编码是什么,发现它在

现在的问题是,从 FTP 下载文件后,我需要将此文件加载到临时表中。如何安全地将其加载到 utf8 格式的表中?

当我导入我的 MySQL 表时,它看起来像下面的表,字符之间有一个空格:

【问题讨论】:

    标签: mysql text character-encoding endianness ucs2


    【解决方案1】:

    临时表可以是CHARACTER SET utf8,但是连接应该是ucs2或者utf16le,不知道是哪个。

    您还没有说您的客户是什么,但使用SET NAMES ...(使用其中一个字符集)应该适用于大多数客户。然后在您加载数据时进行转换。

    ÿþ(十六进制 FFFE)字节顺序标记。请参阅blog 和其中的链接。

    【讨论】:

    • 嗨@RickJames!谢啦。有没有办法获取字符集以便我可以动态执行SET NAMES ...
    • 没有 100% 的方法可以查看文件并说明其编码方式。但是,BOM 接近 100%。建议你试试我给你的两个,看看表中加载的数据是否一样。如果不是,它可能会给出正确的线索。
    猜你喜欢
    • 1970-01-01
    • 2020-12-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多