MySQL無法存儲emoji表情解決方案分析
更新時間:2018年07月20日 08:43:15 作者:站在兩個世界的邊緣
這篇文章主要介紹了MySQL無法存儲emoji表情解決方案,結合實例形式分析了Python爬蟲爬取文章中emoji表情存入數據庫的實現方法,涉及mysql utf8mb4編碼的修改相關操作技巧,需要的朋友可以參考下
本文實例講述了MySQL無法存儲emoji表情解決方案。分享給大家供大家參考,具體如下:
今天學習爬蟲爬伯樂在線的文章,由于在文章中有emoji表情,導致有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數據庫計有所幫助。
相關文章
mysql installer community 5.7.16安裝詳細教程
這篇文章主要為大家介紹了mysql installer community 5.7.16安裝詳細教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09

