本周在Windows 10计算机上安装了mysql-installer-community-8.0.11.0.msi,并且无法加载西班牙语名称。
Reynaldo Cantú
的行因装载程序消息而失败:
错误1300(HY000)第4行:无效的utf8mb4字符串:' Reynaldo Cant'
与颠倒的问号相同。
如果删除该行,所有带有重音元音的其他名称(例如Chacón
)将从重音元音开始被截断。
关于该主题的所有网络搜索都说,使用utf8mb4。所以我从没有指定一个字符集,到我想到的地方添加了utf8mb4。但随着 同样的结果。
我的数据库是utf8mb4
。
我的创建表是
DROP TABLE IF EXISTS T_JackArtist;
CREATE TABLE T_JackArtist( -- Table of people recorded
RID INT PRIMARY KEY, -- T_JackArtist unique row ID
Name VARCHAR(64) NOT NULL , -- Name of person recorded
Note VARCHAR(256) NOT NULL, -- Note
AKA1 VARCHAR(64) NOT NULL, -- Name of person recorded
Track_Changed DATETIME NOT NULL DEFAULT Current_Timestamp,
Track_Userid VARCHAR(50) NOT NULL DEFAULT 'Init'
)
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
我的MySql.exe加载命令是
"C:\Program Files\MySQL\MySQL Server 8.0\bin\Mysql.exe" Jack -h xxx8 -u xxx --password=xxx --batch --raw --local-infile --default-character-set=utf8 < T_JackArtist.cmd
使用T_JackArtist.cmd
USE Jack;
SET NAMES 'utf8mb4';
SET foreign_key_checks = 0;
LOAD DATA LOCAL INFILE 'C:\\Dan\\Jack\\MySql\\Schema\\import\\T_JackArtist.txt' INTO TABLE T_JackArtist IGNORE 1 LINES ;
我哪里错了?
答案 0 :(得分:0)
在LOAD DATA
声明中,加上CHARACTER SET utf8mb4
。
确保文件中的字节确实是utf8,而不是latin1:
ú
hex:C3FA
ú
hex:FA
另见&#39;截断&#39;在Trouble with UTF-8 characters; what I see is not what I stored
答案 1 :(得分:0)
抱歉迟到了。 我已经决定了这个和其他原因留在MS Sql Server /
关闭IT!