MySQL - загрузка кириллических данных с помощью LOAD DATA LOCAL INFILE

Я пытаюсь загрузить данные из txt файла в следующую таблицу MySQL

CREATE TABLE test_cyrillic
(
   id INT,
   name NATIONAL VARCHAR(200)
);

Файл с данными выглядит так

1   Отзывы › Техника и оборудование

База данных была создана с использованием набора символов UTF8 и сопоставления utf8_general_ci.

Команда выглядит так

LOAD DATA LOCAL INFILE 'S:\\Projects\\MyDir\\test_cyrillic.txt'
 INTO TABLE test_cyrillic
 CHARACTER SET utf8
 FIELDS TERMINATED BY '\t'
 OPTIONALLY ENCLOSED BY '"' ESCAPED BY ''
 LINES TERMINATED BY '\r\n'

Однако, выбирая данные из этой таблицы, я получаю следующий вывод

id           name
0             B7K2K  :   "5E=8:0  8  >1>@C4>20=85

В то время как при вставке данных с помощью оператора INSERT

insert into test_cyrillic values(2,N'Отзывы › Техника и оборудование')

все нормально. Может ли кто-нибудь сказать мне, что не так с LOAD DATA в этом случае?


person MaterialGirl    schedule 22.01.2016    source источник


Ответы (1)


Я не могу воспроизвести проблему.

Файл: test_cyrillic.txt:

1   Отзывы › Техника и оборудование

Командная строка MySQL:

mysql> SELECT VERSION();
+-----------------+
| VERSION()       |
+-----------------+
| 5.6.25          |
+-----------------+
1 row in set (0.00 sec)

mysql> CREATE DATABASE test CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
Query OK, 1 row affected (0.00 sec)

mysql> USE test;
Database changed

mysql> CREATE TABLE test_cyrillic (
    ->    id INT,
    ->    name VARCHAR(200) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> LOAD DATA INFILE '/path/to/file/test_cyrillic.txt'
    -> INTO TABLE test_cyrillic
    -> CHARACTER SET utf8
    -> FIELDS TERMINATED BY '\t'
    -> OPTIONALLY ENCLOSED BY '"' ESCAPED BY ''
    -> LINES TERMINATED BY '\r\n';
Query OK, 1 row affected (0.00 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

mysql> SELECT id, name FROM test_cyrillic;
+------+-------------------------------------------------------------+
| id   | name                                                        |
+------+-------------------------------------------------------------+
|    1 | Отзывы › Техника и оборудование                             |
+------+-------------------------------------------------------------+
1 row in set (0.00 sec)
person wchiquito    schedule 22.01.2016
comment
О, да, вы не видите проблемы, вероятно, потому, что ваш текстовый файл имеет кодировку UTF-8, а мой - ANSI. Кажется, я понял, спасибо. - person MaterialGirl; 22.01.2016