Я не могу загрузить испанские / немецкие специальные символы - PullRequest
0 голосов
/ 19 мая 2018

Установил mysql-installer-community-8.0.11.0.msi на этой неделе на компьютере с Windows 10 и застрял при загрузке испанских имен.

Строка с Reynaldo Cantú завершается с сообщением загрузчика:

ОШИБКА 1300 (HY000) в строке 4: недопустимая строка символов utf8mb4: 'Reynaldo Cant'

То же самое с перевернутыми вопросительными знаками.

Если удалитьв этой строке все остальные имена с акцентированными гласными, такими как Chacón, усекаются, начиная с акцентированного гласного.

Все поиски по теме по теме говорят, что используйте utf8mb4.Поэтому я перешел от не указания набора символов к добавлению utf8mb4 везде, где только можно придумать.Но с тем же результатом.

Моя база данных - utf8mb4.Моя таблица создания DROP TABLE ЕСЛИ СУЩЕСТВУЕТ 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 голосов
/ 03 июня 2018

Извините, что опоздал.По этой и другим причинам я решил остаться с MS Sql Server /

Закрыть IT!

0 голосов
/ 25 мая 2018

В операторе LOAD DATA включите CHARACTER SET utf8mb4.

Убедитесь, что байты в файле действительно utf8, а не latin1:

  • ú hex в utf8/ utf8mb4: C3FA
  • ú шестнадцатеричный в латинском1: FA

См. также «усеченный» в Ошибка с символами UTF-8;то, что я вижу, не то, что я сохранил

...