代码之家  ›  专栏  ›  技术社区  ›  MaterialGirl

MySQL-使用LOAD data LOCAL INFILE加载西里尔数据

  •  0
  • MaterialGirl  · 技术社区  · 9 年前

    我正在尝试将数据从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有什么问题吗?

    1 回复  |  直到 9 年前
        1
  •  1
  •   wchiquito    9 年前

    我无法再现这个问题。

    文件: 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)