gpt4 book ai didi

mysql - 数据库中的多种编码

转载 作者:行者123 更新时间:2023-11-28 23:13:37 26 4
gpt4 key购买 nike

我是数据库方面的新手,所以请耐心等待 ;)

我在 mysql 中设计了一个表来存储城市名称(和其他内容)。我从包含所有信息的 UTF8 txt 文件加载数据。

问题是城市名称是以原始形式书写的,所以我有来自中国、俄罗斯、英国、摩洛哥等地的字符集。当我将文件加载到数据库中时,有很多警告,因为那。我是这样做的:

LOAD DATA LOCAL INFILE '/home/ommadawn/cities.txt' INTO TABLE myDB.cities CHARACTER SET UTF8 FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' (country, city, lat, lon);

我所有的字符集都设置为 utf8,排序规则也设置为 utf8。

问题出在哪里?

谢谢!

编辑:

警告是这样的:

Warning | 1366 | Incorrect string value: '\xCC\xA7uway...' for column 'city' at row 9

在这一行中,文本是:

AE  Z̧uwayhir   23.28333    53.2

最佳答案

呃。在 UTF-8 中,CCA7 是一个“COMBINING CEDILLA”。所以,它注定要与相邻的字母组合成一个重音字母。此页面显示它与 u 结合;另一个实验(在相同 浏览器中)将它与 Z 结合:Z̧uwayhir。呃。

反正阿联酋好像也有这种地方。而 UTF-8(MySQL 的 utf8 或 utf8mb4)似乎是它的编码。

回到问题...可能表中的列未声明为CHARACTER SET utf8mb4

你知道它是否将文本截断为 Z 吗?
请提供 SHOW VARIABLES LIKE 'char%';

关于mysql - 数据库中的多种编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44863857/

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