寫在前面
在開發(fā)微信小程序的時(shí)候,評論服務(wù)模塊希望添加上emoji表情,但是emoji表情是4個(gè)字節(jié)長度的,所以需要進(jìn)行設(shè)置
當(dāng)前項(xiàng)目是java編寫, 使用jdbc連接操作數(shù)據(jù)庫, 如下針對的jdbc操作的解決方案
一.jdbc的url的正常操作
在連接配置中,聲明utf-8的字符編碼,
但是現(xiàn)在需要存儲emoji表情,所以在存儲emoji字符串時(shí)會(huì)報(bào)錯(cuò).
二.重新配置為emoji表情的utf8mb4字符集類型
報(bào)錯(cuò):客戶端連接時(shí)報(bào)錯(cuò),不支持該字符集
上述問題的解決方案
三.url連接配置改成
1
|
jdbc.url=jdbc:mysql: //host:3306/your_database?usessl=false |
同時(shí)數(shù)據(jù)庫配置文件my.cnf 進(jìn)行相應(yīng)的修改
1
2
3
4
5
6
7
8
|
[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 |
重啟服務(wù)mysql服務(wù)
問題到此解決
ps:假如你使用的是docker運(yùn)行的mysql,你想找到my.cnf文件的話,
步驟如下:
1.進(jìn)入mysql容器
1
|
docker exec -it 隨機(jī)的容器名(或者容器id) bash |
2.find / -name my.cnf
通常在:/etc/mysql/my.cnf
3.需要更改這個(gè)文件,新增上面的信息
我這里的操作是使用 >> 進(jìn)行追加
1
2
|
cd /etc/mysql echo [client] >> my.cnf |
這樣一行一行的進(jìn)行追加(因?yàn)楹孟袢萜骼餂]有vi這個(gè)命令)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/liuge36/article/details/80964339