ERROR 1300 (HY000): Invalid utf8 character string:

在尝试使用loadcsv将数据导入MySQL时遇到了ERROR1300(HY000):Invalid utf8 character string错误。检查发现数据库、表的字符集均为UTF-8。问题在于文件中可能存在特殊字符,特别是转义字符。通过使用sed命令对文件进行处理,将替换为,然后重新加载数据成功,现在数据在数据库中正常显示。

在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,在数据库中会展示只有一个"\"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徒步@天涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值