ERROR 1300 (HY000): Invalid utf8 character string: ''

时间:2022-11-17 21:30:30

在load csv 进mysql的时候,报这个错,苦恼了很长时间,网上搜索不到答案。

mysql>    load data infile '/home/hdh/8_sr/8_45.csv'  into table  xizang.fp45 fields terminated by ','   escaped by '"' lines terminated by '\r\n';

解决方案:

1.查看字符集,Linux, 数据库,表

mysql> show variables like 'character%';
+--------------------------+-----------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /home/mysql/share/charsets/ |
+--------------------------+-----------------------------+
8 rows in set (0.01 sec)

都是utf8,没有问题,

2.只能对这个文件进行特殊字符的清理了,一般遇到这个都是因为字符中间多了“\” 转义字符。

一般遇到特殊字符的时候会提示多少行,什么字符导致的出错,但是这个“\”,不会有这么详细的提示。

对这个文件  sed -i 's/"//g'  filename   #删除文件中的"

sed -i 's/\\//g' filename   #删除文件中的\

重新load  ok