导入中文字符到mysql中出错问题

在将中文维基数据导入到本地mysql过程中 可能出现下面的错误:

:1366:Incorrect string value: '\xF0\xA3\xAD\x96\xEF\xBC   ...  for column ‘XXX’ at row 1

原因有二:

1. 仔细核查是因为插入的中文有异体字下面这个异体字,默认的utf8是3个字节的,而这个异体字是4个字节,因此一插入就出错。http://jwdsk.cn/post-151.html

2. 有可能文字中存在表情。。。https://www.cnblogs.com/h--d/p/5712490.html


解决措施 采用 utf8mb4 字符集

也可能在创建表格时候有问题 ,在CREATE语句分号前面加上这么一句:charset utf8 collate utf8_general_ci  https://www.cnblogs.com/huzi007/p/5659361.html


再次出现错误...ERROR 1406 (22001) at line 6833: Data too long for column 'rev_comment' at row 911

解决措施:

Switch the MySQL mode to not use STRICT. 在sql里面输入:SET @@global.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

1. Open your "my.ini" file within the MySQL installation directory, and look for the text "sql-mode".但是linux系统下找不到啊....

2. You can run an SQL query within your database management tool, such as phpMyAdmin: SET @@global.sql_mode= '';\

但是感觉第二种是短暂的啊。。。

https://stackoverflow.com/questions/18897420/data-too-long-for-column-why

https://stackoverflow.com/questions/15949038/error-code-1406-data-too-long-for-column-mysql

好的第三次出错 但这次终于快完了。。。

ERROR 1062 (23000) at line 19875: Duplicate entry '4-知识问答' for key 'name_title'

去网上稍微找了一点资料 并不知道是什么原因啊 最后决定把这一行直接删掉算了...


好的手贱删掉了数据库... 然后去网上找到了一种提高性能的方法

即如这篇 http://blog.csdn.net/qq_29164095/article/details/78905680 打开初始化文件 然后添加 这一行 应该会重写的 innodb_log_file_size = 512M

据说可以大大提升性能


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值