我尝试从 .CSV
导入到 mysql
数据库,我正在使用 LOAD DATA LOCAL INFILE
函数,但每次我导入data 我得到的阿拉伯字符为 (?????????) 我该怎么做才能解决这个问题
这是我的 SQL
LOAD DATA INFILE 'C:/wamp/www/academyOfArt/workShop/books.csv' INTO TABLE `books_library` CHARACTER SET 'utf8' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (title,cover,authorName,pagesNum,publishingHouse,publishingYear,details)
好的,这是我的表格标题
id - cat - instituteId - title - cover - authorName - pagesNum - publishingHouse - publishingYear - details
行统计
Format Compact
Collation utf8_general_ci
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| cat | int(11) | NO | | NULL | |
| instituteId | int(11) | NO | | NULL | |
| title | varchar(255) | NO | | NULL | |
| cover | blob | NO | | NULL | |
| authorName | varchar(255) | NO | | NULL | |
| pagesNum | int(11) | NO | | NULL | |
| publishingHouse | varchar(255) | NO | | NULL | |
| publishingYear | year(4) | NO | | NULL | |
| details | mediumtext | NO | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+
Hay 我在运行时注意到 show variables like 'char%'
我得到了
mysql> show variables like 'char%';
+--------------------------+-----------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | c:\wamp\bin\mysql\mysql5.6.17\share\charsets\ |
+--------------------------+-----------------------------------------------+
最佳答案
您正在以 UTF-8 格式加载 CSV 文件,而您的表格是 UTF-8 格式,看起来没问题。
如果您的结果中的问号如下所示:�
,并且在其他情况下可以显示阿拉伯字符,那么 CSV 文件可能不是 UTF-8 编码的。
仔细检查 CSV 文件是否采用 UTF-8 编码。必要时转换它。 (要获得这方面的建议,需要知道您使用的是什么平台。)
编辑:这似乎是 Excel 的限制,它显然无法生成 UTF-8 CSV 文件! Here有许多解决方法。
关于mysql - 尝试使用 LOAD DATA LOCAL INFILE 将 CSV 文件中的阿拉伯数据导入 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675447/