插入的字段裡面包含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檔案,然後儲存後合併...