gpt4 book ai didi

MySQL 在 LOAD DATA 操作期间将 eszett 字符视为 "ß"

转载 作者:行者123 更新时间:2023-11-29 20:02:05 24 4
gpt4 key购买 nike

我正在尝试导入 small data set使用 MySQL 的 LOAD DATA 语句获取柏林街道地址。问题是,导入运行后,德国街道名称中所有漂亮的 ß 字符都变成了 à 集。

这是我用于该表的创建表语句:

CREATE TABLE `subway_distances` (
`STN` varchar(255) DEFAULT NULL,
`HNR` int(9) DEFAULT NULL,
`Lat` decimal(36,15) DEFAULT NULL,
`Lon` decimal(36,15) DEFAULT NULL,
`Distance` decimal(45,20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

...这是我的 MySQL shell 代码:

charset utf8;
TRUNCATE TABLE subway_distances;
LOAD DATA LOCAL INFILE '/path/to/output.csv'
INTO TABLE berlin.subway_distances
FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\';
SELECT * FROM subway_distances LIMIT 0,10;

我在 vim 中查看了 output.csv,eszett 字符似乎没问题。

我假设我只需要在 MySQL 中使用不同的编码声明,但我不知道从哪里开始。

我还假设排序规则并不重要,因为我没有比较值——只是纯粹试图获得有效的导入。

最佳答案

我很快就找到了这个问题的答案。看起来我只需要在 LOAD DATA 语句中指定 CHARACTER SET 值。所以新的语句看起来像这样:

LOAD DATA LOCAL INFILE '/path/to/output.csv'
INTO TABLE berlin.subway_distances
CHARACTER SET 'utf8'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\';

关于MySQL 在 LOAD DATA 操作期间将 eszett 字符视为 "ß",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40492561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com