相关疑难解决方法(0)

MySQL将latin1数据转换为UTF8

我使用LOAD DATA INFILE将一些数据导入MySQL数据库.表本身和列使用UTF8字符集,但数据库的默认字符集是latin 1.因为数据库的默认字符类型是latin1,并且我使用了LOAD DATA INFILE而没有指定字符集,所以它被解释文件为latin1,即使文件中的数据是UTF8.现在我的UTF8列中有一堆编码错误的数据.我发现这篇文章似乎解决了类似的问题,即"在cp1251中插入了UTF8",但我的问题是"在UTF8中插入了Latin1".我已经尝试在那里编辑查询以将latin1数据转换为UTF8,但无法使其工作.数据与之前的数据相同,甚至更多.举个例子,Québec这个词显示为Québec.

[附加信息]

选择包含在HEX()中的数据时,Québec的值为5175C383C2A9626563.

此表的Create Table(缩写)是.

CREATE TABLE MyDBName.`MyTableName`
(
`ID` INT NOT NULL AUTO_INCREMENT, 
.......
`City` CHAR(32) NULL, 
.......
`)) ENGINE InnoDB CHARACTER SET utf8;
Run Code Online (Sandbox Code Playgroud)

mysql sql collation load-data-infile

8
推荐指数
3
解决办法
2万
查看次数

标签 统计

collation ×1

load-data-infile ×1

mysql ×1

sql ×1