讓MySQL支援Emoji表情 mysql 5 6

2022-05-02 08:06:10 字數 2619 閱讀 1942

首先將我們資料庫預設字符集由utf8 更改為utf8mb4,對應的表預設字符集也更改為utf8mb4  已經儲存表情的字段預設字符集也做了相應的調整。

sql 語句如:

# 修改資料庫:

alter database database_name character set = utf8mb4 collate = utf8mb4_unicode_ci;

# 修改表:

alter table table_name convert to character set utf8mb4 collate utf8mb4_unicode_ci;

# 修改表字段:

alter table table_name change column_name column_name varchar(191) character set utf8mb4 collate utf8mb4_unicode_ci;

其次修改mysql配置檔案

新增如下引數:

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = false

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='set names utf8mb4'

最後檢查環境變數 和測試 sql 如下:

mysql> show variables where variable_name like 'character\_set\_%' or variable_name like 'collation%';

| variable_name            | value              |

| character_set_client    | utf8mb4            |

| character_set_connection | utf8mb4            |

| character_set_database  | utf8mb4            |

| character_set_filesystem | binary            |

| character_set_results    | utf8mb4            |

| character_set_server    | utf8mb4            |

| character_set_system    | utf8              |

| collation_connection    | utf8mb4_unicode_ci |

| collation_database      | utf8mb4_unicode_ci |

| collation_server        | utf8mb4_unicode_ci |

遇到問題如下:

rows in set (0.00 sec)

解決辦法:

//這裡要寫兩次屬性名

alter table tweets change weibocontent weibocontent varchar(350) character set utf8mb4 collate utf8mb4_unicode_ci;

//或者

alter table tweets modify column weibocontent varchar(350) character set utf8mb4 collate utf8mb4_unicode_ci default null;

error: 'access denied for user 'root'@'localhost' (using password: no)'

安裝完成後,連線到mysql服務時輸入命令 「 mysql -uroot -p 」 ,因為時第一次登入,未設定密碼,直接回車,就遇到了這個問題,錯誤資訊如下'root'@'localhost' (using password:yes)

解決如下:

1.停止mysql服務

systemctl stop mysqld.service

2.修改配置檔案無密碼登入

vim  /etc/my.cnf

在最後加上

skip-grant-tables

儲存3.啟動mysql

systemctl  start  mysqld.service

4.登入mysql

mysql -u root

注意這裡不要加-p

5.修改密碼,mysql5.7用此語法

use mysql;

update mysql.user set authentication_string=password('123456') where user='root' ;  

6.回到第二部把剛加的那句刪掉

儲存,重啟mysql就可以了

讓mysql支援emoji表情

原因找到了就很好辦,mysql5.5.3之後的版本支援utf8mb4編碼,這種編碼是utf8的公升級版,用的是4個位元組進行儲存。所以需要做的就是把mysql字符集從utf8公升級為utf8mb4就行了。雖然utf8mb4相容utf8,但最好還是作個資料庫備份。這個就不說了,根據你的伺服器系統做my...

讓MySql支援Emoji表情

解決方案 將mysql的編碼從utf8轉換成utf8mb4。需要 mysql 5.5.3版本 從庫也必須是5.5的了 低版本不支援這個字符集 複製報錯 停止mysql server服務 修改 my.cnf或者mysql.ini client default character set utf8mb4...

Mysql支援emoji表情

教程所示使用的是 github 倉庫,網速過慢的朋友請 原文 mysql 支援 emoji 表情。更多討論或者錯誤提交,也請移步。最近為部落格新增了emoji表情,所以需要資料庫支援utf8mb4編碼。伺服器安裝的資料庫是mysql 5.7。網上很多方法是通過命令列設定字符集編碼格式,但是經過嘗試,...