寫(xiě)在前面
在開(kāi)發(fā)微信小程序的時(shí)候,評(píng)論服務(wù)模塊希望添加上emoji表情,但是emoji表情是4個(gè)字節(jié)長(zhǎng)度的,所以需要進(jìn)行設(shè)置
當(dāng)前項(xiàng)目是JAVA編寫(xiě), 使用JDBC連接操作數(shù)據(jù)庫(kù), 如下針對(duì)的JDBC操作的解決方案
一.JDBC的URL的正常操作
在連接配置中,聲明UTF-8的字符編碼,
但是現(xiàn)在需要存儲(chǔ)emoji表情,所以在存儲(chǔ)emoji字符串時(shí)會(huì)報(bào)錯(cuò).
二.重新配置為emoji表情的utf8mb4字符集類型
報(bào)錯(cuò):客戶端連接時(shí)報(bào)錯(cuò),不支持該字符集
上述問(wèn)題的解決方案
三.URL連接配置改成
jdbc.url=jdbc:mysql://HOST:3306/your_database?useSSL=false
同時(shí)數(shù)據(jù)庫(kù)配置文件my.cnf 進(jìn)行相應(yīng)的修改
[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci
重啟服務(wù)MySQL服務(wù)
問(wèn)題到此解決
ps:假如你使用的是Docker運(yùn)行的mysql,你想找到my.cnf文件的話,
步驟如下:
1.進(jìn)入mysql容器
docker exec -it 隨機(jī)的容器名(或者容器ID) bash
2.find / -name my.cnf
通常在:/etc/mysql/my.cnf
3.需要更改這個(gè)文件,新增上面的信息
我這里的操作是使用 >> 進(jìn)行追加
cd /etc/mysql echo [client] >> my.cnf
這樣一行一行的進(jìn)行追加(因?yàn)楹孟袢萜骼餂](méi)有vi這個(gè)命令)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選