MySQL无法存储emoji表情解决方案分析
本文实例讲述了MySQL无法存储emoji表情解决方案。分享给大家供大家参考,具体如下:
今天学习爬虫爬伯乐在线的文章,由于在文章中有emoji表情,导致有emoji表情的文章都爬取不下来
经过一番搜索之后终于解决了问题。
相关文章可参考:
①.MySQL无法存储Emoji表情问题
②.mysql存emoji表情报错处理
1.在navicat中
如果在新建表之前就改变数据库的编码,建表的时候好像可以自己转变过来吧
查看字符集编码:
showvariableslike'%char%';
更改数据库编码:
ALTERDATABASE数据库名CHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;
更改表编码:
ALTERTABLE表名CONVERTTOCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;
下面这些,好像没用到,要是不行也可以用用
set@@character_set_client='utf8mb4'; set@@character_set_connection='utf8mb4'; set@@character_set_results='utf8mb4'; set@@character_set_server='utf8mb4';
2.在爬虫代码中
classMysqlPipeline(object): def__init__(self): self.conn=MySQLdb.connect('127.0.0.1','root','root','article_spider',charset='utf8mb4',use_unicode=True) self.cursor=self.conn.cursor() defprocess_item(self,item,spider): insert_sql=''' insertintoarticle(title,url,bookmark_nums,url_object_id,content) VALUE(%s,%s,%s,%s,%s) ''' self.cursor.execute(insert_sql,(item['title'],item['url'],item['bookmark_nums'],item['url_object_id'],item['content'])) self.conn.commit()
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL存储过程技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。