在load csv 进mysql的时候,报ERROR 1300 (HY000): Invalid utf8 character string:
解决方案:
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.00 sec)
都是utf8,没有问题,
2.对文件进行特殊字符的处理,一般遇到这个都是因为字符中间多了“\” 转义字符。
一般遇到特殊字符的时候会提示多少行,什么字符导致的出错,但是这个“\”,不会有这么详细的提示。我们通过sed命令把"\"进行转义,替换成"\\"。
重新load ok,在数据库中会展示只有一个"\"。
在尝试使用loadcsv将数据导入MySQL时遇到了ERROR1300(HY000):Invalid utf8 character string错误。检查发现数据库、表的字符集均为UTF-8。问题在于文件中可能存在特殊字符,特别是转义字符。通过使用sed命令对文件进行处理,将替换为,然后重新加载数据成功,现在数据在数据库中正常显示。
330

被折叠的 条评论
为什么被折叠?



