【发布时间】:2015-05-25 20:36:26
【问题描述】:
我得到以下情况: 我通过“LOAD DATA LOCAL INFILE”将 .csv 导入 mysql。
一切正常,但有一栏有点坏了。
它充满了“类别名称”,例如“LFP-Graphic Art”和“Papiere, Blöcke, Formulare”。
如果我用一个简单的语句在表中查找一个条目,我得到的结果为零:
SELECT * FROM t_category
WHERE category = 'LFP-Graphic Art';
如果我让它显示表格中的所有内容,我可以看到确实有类别为“LFP-Graphic Art”的条目。
我也已经在寻找空格,但这似乎不是问题。
我猜是导入出了点问题?
我在没有 BOM 的情况下将 .csv 文件格式化为 UTF8。
编辑:
当我更新数据集并删除一个字符时,选择语句可以正常工作。
csv 中的示例行:
active;supplier;SUPPLIER_AID;categorie
1;kb;10101;FP-Graphic Art
还有 MySQL 表:
t_import
name, type, collation
active, tinyint(4), latin1_general_ci
supplier, char(255), latin1_general_ci
SUPPLIER_AID, char(255), latin1_general_ci
category, varchar(255), utf8_general_ci
【问题讨论】:
-
你能用那个字符串显示一行csv吗?另外,您是否尝试过使用 LIKE '%LFP-Graphic Art%' 类别?
-
like 语句有效。但我需要确切的结果才能进一步使用它。 csv 行很长,有 130 列。
-
我能看到一行csv吗?
-
1;kb;10101;LFP-Graphic Art - 我确实剪掉了很多。我还尝试用 ' " ' 包围每个字符串
-
那一列的表结构呢?