關於mysql與emoji的坑

emoji

網上已經有很多的mysql支持emoji文章了,大概就是:不管是啥mysql相關配置,通通改成utf8mb4 。
這樣就能夠支持emoji了,所以我也不多介紹這方面,我只說一下我遇到的幾個坑。
1.找不到my.ini
linux下應該好找,但是windows下,要不就是沒有,要不就是有好幾個。這裏提供一種方法,就是在系統服務中,查看mysql服務的屬性,裏面指定了讀取的配置文件,讀取的是哪一個文件,就用的是哪一個文件。
2.改了配置,沒起作用
有的時候,改了my.ini之後,查看mysql還是原來的編碼。有可能是以下幾點,一,沒重啓;二,用的是軟件查看,軟件可能有緩存之類的,用命令行查看估計就改掉了;三,配置文件改錯了。
3.實在改不了配置
因爲數據庫實例是啓在服務器上,不會隨便重啓,如果實在改不動配置,也不想花時間在這上面,就用set names命令,將數據庫的字符集強行改爲utf8mb4,然後在系統啓動的時候自動跑腳本生效這個語句,應該也能達到效果。
4.改了配置了,但是程序還是保存不了emoji
提供以下幾點參考。一,connect包的版本太低;二,數據庫連接有緩存,在連接url上加上autoReconnect=true;三,connect包大於5.13(應該是這個版本),需要去掉characterEncoding=UTF-8。

這就是我碰到過的坑,如果有其他的坑,也歡迎交流。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章