所以我尝试用ansible将一个巨大的.sql文件导入我的数据库。我已经配置mysql运行 set global default-character-set = utf8mb4
在数据库创建之前。在导入下面的数据之前,我已经确认db charset设置为utf8mb4。
但我仍然收到 58229: Incorrect string value: '\\xBA' for column 'ISBN' at row 1\n"}
.
这条线看起来像 INSERT INTO
bx图书评级
VALUES (11676,'8475560806º',6); º
似乎是这里的问题。以下是我的tbl结构:
CREATE TABLE `BX-Book-Ratings` (
`User-ID` int(11) NOT NULL default '0',
`ISBN` varchar(13) NOT NULL default '',
`Book-Rating` int(11) NOT NULL default '0'
) ENGINE=MyISAM;
任何提示都将不胜感激。谢谢。
1条答案
按热度按时间cxfofazt1#
假设你在期待
º
(阳性序数指标),我建议。。。十六进制
BA
,在拉丁语中是那个字符。对于utf8,它是十六进制的C2BA
.我假设您不想转换“巨大的”.sql文件。另外,我假设没有混合编码;这将是一场灾难。
您还没有显示用于“加载”的代码。如果是的话
LOAD DATA
,然后添加此子句:CHARACTER SET latin1
在语法正确的地方。要进一步讨论,请提供以下内容:
我强烈建议使用innodb,而不是myisam。