讓你的字段支援儲存手機中的emoji表情

2022-07-23 00:51:32 字數 940 閱讀 3021

插入的字段裡面包含emoji表情符。基本可以判定是字元編碼的問題。我們的資料庫裡面使用的是utf8編碼,普通的字串或者表情都是佔位3個位元組,所以utf8足夠用了,但是移動端的表情符號佔位是4個位元組,普通的utf8就不夠用了,為了應對無線網際網路的機遇和挑戰、避免 emoji 表情符號帶來的問題、涉及無線相關的 mysql 資料庫建議都提前採用utf8mb4 字符集,這必須要作為移動網際網路行業的乙個技術選型的要點。

utf8與utf8mb4說明:  

utf8mb4:mysql在5.5.3之後增加了utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容四位元組的unicode。

二.alter table cnfol_dynamic modify column content text character set utf8mb4

;(修改表字段的字符集)

改完後測試,插入失敗。  

alter table cnfol_dynamic convert to character set utf8mb4;

(修改表的字符集)[size=+0]

改完後測試,插入失敗。  

alter database caishi  character set utf8mb4; (修改庫的字符集)

改完後測試,插入失敗。  

最後嘗試修改mysql配置檔案my.cnf

vi /etc/my.cnf

在[client]下新增

default-character-set=utf8mb4

在[mysqld]下新增

default-character-set=utf8mb4

修改完測試,依舊報錯。

最終查詢原因,在php**連線資料庫的時候,有個設定字符集的選項。這個選項也應該設定成utf8mb4。

以上全部修改成功後,測試可行。而且不影響原來的資料。utf8mb4是完全相容utf8的。

讓你的Mac支援NTFS

前段時間換成mac電腦之後,發現有一點不爽,不能在mac下寫入ntfs格式的磁碟,所以就去研究了一下。解決方法有如下三種。第一種,直接使用第三方軟體,如paragon ntfs for mac,tuxera ntfs等,不過大部分都是收費的。有一款免費的是mounty,我之前用了一下,我自己的機器上...

如何讓你的Apache支援https

主要講述在windows下apache配置ssl 以實現http轉換為https ssl ssl是為http傳輸提供安全的協議,通過證書認證來確保客戶端和 伺服器之間的資料是安全。也就是說在ssl下http傳輸是安全的,我們成為https.過程 步驟一 安裝apache,使其支援ssl,並安裝php...

讓你的IE支援Wap網頁

最近一直在做wap 的東西,了解了點wml,不過做完後,測試就是件麻煩的事了,目前是用opera來進行測試的,雖然說不錯,但還是感覺沒ie親切 看了一下,應該是mime的問題,沒有註冊進來,隨後google了一下,找到方法,自己貼出來,以後用起來找起來也方便。把以下 存為.reg檔案,然後儲存後合併...