我无法加载西班牙语/德语特殊字符

时间:2018-05-19 05:36:07

标签: mysql load utf8mb4

本周在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 ;

我哪里错了?

2 个答案:

答案 0 :(得分:0)

LOAD DATA声明中,加上CHARACTER SET utf8mb4

确保文件中的字节确实是utf8,而不是latin1:

    utf8 / utf8mb4中的
  • ú hex:C3FA
  • latin1中的
  • ú hex:FA

另见&#39;截断&#39;在Trouble with UTF-8 characters; what I see is not what I stored

答案 1 :(得分:0)

抱歉迟到了。 我已经决定了这个和其他原因留在MS Sql Server /

关闭IT!