怎樣將Emoj表情插入mysql5.6數據庫__python+mysqldb

廢話很少說,相信看到這裏的看客已經看過很是多配置文件的設置方法。但是問題仍是沒有解決。本文就具體記錄一下個人解決方法吧。python


個人環境:mysql5.6+python2.7.3+MySQLdb1.2.4
mysql



一、桌面上右擊 計算機,選擇「管理」, 選擇「服務和應用程序」---「服務」, 在裏面找到MySQL56的服務。
sql




二、右擊 MySQL服務,查看「屬性」:日後拖一下,找到—default-file下圖中畫框部分,這裏指明瞭MySQL啓動的時候要載入的配置文件.
數據庫





三、  找到該路徑下的配置文件,進行改動。python2.7





四、  詳細改動內容:編碼





文字:spa

[client]code

port=3306server

default-character-set=utf8mb4對象

[mysql]

port=3306

default-character-set=utf8mb4

[mysqld]

port=3306

character-set-client-handshake= FALSE

character-set-server= utf8mb4

collation-server= utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'



五、  而後從新啓動MySQL56服務。



六、  在執行裏面,找到並打開mysql command line,使用下面命令查看是否生效。

SHOWVARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE'collation%';

看到如下這個畫面就說明生效了:





七、覺得這樣就完了嗎?No,即便是這樣咱們無論是在mysql workbench仍是經過python+mysqldb創建的utf8mb4數據庫事實上仍是utf-8的,也正因如此,咱們的emoj字符才一直不能插入到數據庫中。


    即便創建的數據庫是utf8mb4的,咱們看到這個數據庫仍是utf8的。


因此咱們還需要繼續實驗,細緻看改動配置文件中面有一句:init_connect='SETNAMES utf8mb4',那我可以拿來用到數據庫中。

果真,發現加上「SET NAMES utf8mb4;」這句之後,數據庫變成了utf8mb4.:




這樣可以再推廣應用到代碼裏面。見8.



八、 在python + mysqldb 或者 python +sqlalchemy兩種模式都適用。

建立鏈接之後, 遊標對象首先要運行一遍「SET NAMES utf8mb4;」這樣就能保證數據庫鏈接是以utf8mb4編碼格式鏈接,數據庫也就變成utf8mb4的啦。前面都是鋪墊的內容, 假設沒有第 8 步,前面都是白作的。

Mysql:




Sqlalchemy:

相關文章
相關標籤/搜索