首页 > 解决方案 > PhpStorm 将数据从 CSV 文件导入 MySQL,Cyrillic 问题

问题描述

我在尝试将数据从 CSV 文件导入 PhpStorm 中的 MySQL 数据库时遇到编码问题。CSV 文件包含西里尔符号。我读过一些文章,尝试了很多东西,但没有一个对我有用。

在 my.ini 文件中,我更改了:

collation_server=utf8_unicode_cicollation_server=utf8mb4_unicode_cicharacter_set_server=utf8character_set_server=utf8mb4

但结果还是一样。

那是我的 CSV 文件:

NAME_1,NAME_2,NAME_3
Vladimir,Ivanov,Kaziyski
ИВАН,ПЕТРОВ,ГЕОРГИЕВ
John,Lee,Smith
ПЕТЪР,ЙОРДАНОВ,ПЕТРОВ

在 PhpStorm 中,我在要导入数据的数据库上单击右键,然后单击:

在此处输入图像描述

然后我选择了 CSV 文件

在此处输入图像描述

在数据预览部分一切看起来都很正常,编码设置为 UTF-8

在此处输入图像描述

然后我得到这个错误

在此处输入图像描述

这是日志:

2:1: Data truncation: Incorrect string value: '\xD0\x98\xD0\x92\xD0\x90...' for column `current_db`.`csv_data`.`NAME_1` at row 2
3:1: Data truncation: Incorrect string value: '\xD0\x98\xD0\x92\xD0\x90...' for column `current_db`.`csv_data`.`NAME_1` at row 1
4:1: Data truncation: Incorrect string value: '\xD0\x98\xD0\x92\xD0\x90...' for column `current_db`.`csv_data`.`NAME_1` at row 2
5:1: Data truncation: Incorrect string value: '\xD0\x9F\xD0\x95\xD0\xA2...' for column `current_db`.`csv_data`.`NAME_1` at row 1

我已经搜索了这个错误并尝试了几乎所有的解决方案,但没有任何效果。问题肯定是西里尔文。有 PhpStorm 的人有同样的问题吗?如何解决?

标签: phpmysqlcsvencodingphpstorm

解决方案


utf8 vs utf8mb4 对于西里尔文无关紧要,只对表情符号和中文。

请提供SHOW CREATE TABLE。我怀疑您没有更改CHARACTER SET将接收西里尔字符的列。


推荐阅读