当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL无法存储emoji表情解决方案分析

MySQL无法存储emoji表情解决方案分析

2018年08月08日  | 移动技术网IT编程  | 我要评论
本文实例讲述了mysql无法存储emoji表情解决方案。分享给大家供大家参考,具体如下: 今天学习爬虫爬伯乐在线的文章,由于在文章中有emoji表情,导致有emoji表情

本文实例讲述了mysql无法存储emoji表情解决方案。分享给大家供大家参考,具体如下:

今天学习爬虫爬伯乐在线的文章,由于在文章中有emoji表情,导致有emoji表情的文章都爬取不下来

经过一番搜索之后终于解决了问题。

相关文章可参考:

①. mysql无法存储emoji表情问题

②.

1. 在navicat中

如果在新建表之前就改变数据库的编码,建表的时候好像可以自己转变过来吧

查看字符集编码:

show variables like '%char%';

更改数据库编码:

alter database 数据库名 character set utf8mb4 collate utf8mb4_general_ci;

更改表编码:

alter table 表名 convert to character set utf8mb4 collate utf8mb4_general_ci;

下面这些,好像没用到,要是不行也可以用用

set @@character_set_client='utf8mb4';
set @@character_set_connection='utf8mb4';
set @@character_set_results='utf8mb4';
set @@character_set_server='utf8mb4';

2. 在爬虫代码中

class mysqlpipeline(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()
  def process_item(self, item, spider):
    insert_sql = '''
      insert into article(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数据库计有所帮助。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网