最近写了一个小的爬虫代码。想要把抓取到的数据放入数据库中。发现报错
首先 百度,发现是由于编码问题造成的 先看数据库编码
show variableslike'character_set_database';
showcreatetable;
发现果然编码不对,遂将编码修改为UTF-8
继续执行脚本,发现依然报错。心想是不是页面数据格式不是UTF-8 中间还需要做什么转换?
发现页面数据格式也是UTF-8。。。。
遂继续百度。。终于 功夫不负有心人,发现了一个回答。
带着试一试的心态修改编码。
sudo find / -namemy.cnf 找到配置文件(使用配置文件修改更快)
在原文中添加以下内容:(mysql和client是原来配置文件里面没有的需要自己手动添加)[client]
default-character-set = utf8mb4
[mysql]default-character-set = utf8mb4
[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
最后重启服务:sudoservice mysql restart
进入mysql查看结果:
SHOWVARIABLESWHEREVariable_nameLIKE'character\_set\_%'ORVariable_nameLIKE'collation%';
一切搞定。。运行脚本。。。发现正常!!GOD...