将ANSI文件导入mysql表

时间:2015-01-08 07:18:51

标签: mysql

我有一个带有列排序规则的mysql表:latin1_bin

我有一个需要上传到表的ANSI csv文件。

案例1:我将指定文件字符集的文件导入为windows-1252并插入0行。

案例2:我导入相同的文件,指定文件的字符集为utf-8,并插入带有特殊字符问号的行。

造成这个问题的原因是什么?如何将ANSI文件正确导入mysql数据库?

1 个答案:

答案 0 :(得分:0)

问:造成这种情况的原因是什么?

A: MySQL latin1 characterset是一个单字节字符集。执行字符集转换时,任何未映射到目标字符集中的字符的代码点都将转换为默认字符。在你的情况下,这是一个问号。

一个快速测试是将数据加载到具有不同字符集的列中,例如utf8mb4如果您使用的是MySQL 5.5。

阅读文件时,指定正确的编码非常重要。

我建议您阅读我在评论中提供的两篇博客文章,并在google中搜索“UTF8一直”等知识来源。 (我会提醒你,有很多不良信息(如果不是更多)而不是好信息。对基础知识的理解很重要;请参阅我在评论中首先提到的那两篇博文。)