首先將我們資料庫預設字符集由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。網上很多方法是通過命令列設定字符集編碼格式,但是經過嘗試,...