带有特殊字符的 MySQL LOAD DATA INFILE 问题

标签 mysql utf-8 special-characters

我在 LOAD DATA LOCAL INFILE 加载 utf8 文件时遇到问题。 查询看起来像这样:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE artikel CHARACTER SET UTF8
FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

但带有特殊字符如“Dämmung”的字段将被截断为“D”。

SHOW VARIABLES LIKE '%_set_%';

显示全部设置为utf8,我还用notepad++确认文件是utf8。

这真的很有帮助,如果有人知道建议,这是一个巨大的文件,我想避免手动输入错误的字段:-/

最佳答案

我遇到了同样的问题。 有一个“hack”可以解决这个问题:使用 UTF8 维护所有内容。异常(exception)情况是“LOAD DATA LOCAL ....”。当我使用 LATIN1 而不是 UTF8 时,它工作正常。

关于带有特殊字符的 MySQL LOAD DATA INFILE 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378272/

相关文章:

mysql - 想要根据给定日期和给定工作日查找周日期

php - 将mysql数据库拉入elasticsearch

ruby-on-rails - rake 中止! UTF-8 中的无效字节序列

C# 的 Encoding.UTF8.GetString 在 Go 中的等价物

c++ - Linux 上的 iconv() 32 位与 64 位

php - 将复杂的 XML 解析为 PHP 和数据库

mysql - Laravel 不保存小数

php - PHP $_SESSION 变量键中的保留字符

escaping - 为什么 '\SO' 的行为与 Agda 中的其他转义码不同?

Php get 方法与 & 作为字符串的一部分