讓Mysql支持Emoji表情的方法簡析_MySQL
來源:懂視網(wǎng)
責(zé)編:小采
時間:2020-11-09 18:14:55
讓Mysql支持Emoji表情的方法簡析_MySQL
讓Mysql支持Emoji表情的方法簡析_MySQL:bitsCN.com 聲明:我的文章都是在實際工作中遇到并解決問題后撰寫的,可能你早就一清二楚了,也可能對你沒有任何幫助,喜歡就請頂一下,不喜也請勿噴。就像足球一樣, 不喜歡中國足球的就請不要關(guān)注,你可以去看乒乓球、羽毛球,甚至,冰壺!但不要去罵他們,
導(dǎo)讀讓Mysql支持Emoji表情的方法簡析_MySQL:bitsCN.com 聲明:我的文章都是在實際工作中遇到并解決問題后撰寫的,可能你早就一清二楚了,也可能對你沒有任何幫助,喜歡就請頂一下,不喜也請勿噴。就像足球一樣, 不喜歡中國足球的就請不要關(guān)注,你可以去看乒乓球、羽毛球,甚至,冰壺!但不要去罵他們,
bitsCN.com
聲明:我的文章都是在實際工作中遇到并解決問題后撰寫的,可能你早就一清二楚了,也可能對你沒有任何幫助,喜歡就請頂一下,不喜也請勿噴。就像足球一樣, 不喜歡中國足球的就請不要關(guān)注,你可以去看乒乓球、羽毛球,甚至,冰壺!但不要去罵他們,畢竟還有很多人癡心地喜歡國足,我就是其中之一。 ===正文=== 最近在做一個iPhone上的項目,我負(fù)責(zé)后端,Java開發(fā),DB用的是Mysql,版本5.5.21,編碼用的是UTF-8。 但發(fā)現(xiàn)了一個問題,iPhone上有Emoji表情,插入Mysql時失敗了,報如下異常:
Java代碼 java.sql.SQLException: Incorrect string value: '/xF0/x9F/x92/x94' for column 'name' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581) 上百度Google一下,終于找到了答案。UTF-8編碼有可能是兩個、三個、四個字節(jié)。Emoji表情是4個字節(jié),而Mysql的utf8編碼最多3個字節(jié),所以數(shù)據(jù)插不進去。解決方案就是:將Mysql的編碼從utf8轉(zhuǎn)換成utf8mb4。網(wǎng)上應(yīng)該能搜到一大堆修改Mysql編碼的方法。 我是這么做的,可能有些修改沒有必要,但最終我還是解決了問題:
1. 修改my.cnf[mysqld]character-set-server=utf8mb4[mysql] default-character-set=utf8mb4修改后重啟Mysql 2. 以root身份登錄Mysql,修改環(huán)境變量,將character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server 都修改成utf8mb4 3. 將已經(jīng)建好的表也轉(zhuǎn)換成utf8mb4命令:alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (將TABLE_NAME替換成你的表名) 至此,OK了! 作者 RamosLi bitsCN.com
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
讓Mysql支持Emoji表情的方法簡析_MySQL
讓Mysql支持Emoji表情的方法簡析_MySQL:bitsCN.com 聲明:我的文章都是在實際工作中遇到并解決問題后撰寫的,可能你早就一清二楚了,也可能對你沒有任何幫助,喜歡就請頂一下,不喜也請勿噴。就像足球一樣, 不喜歡中國足球的就請不要關(guān)注,你可以去看乒乓球、羽毛球,甚至,冰壺!但不要去罵他們,