導航:首頁 > 編程大全 > php表情存不進資料庫

php表情存不進資料庫

發布時間:2023-09-08 00:34:25

① 如何轉義emoji表情,讓它可以存入utf8的資料庫

unicode emoji是4個位元組的,存不進里,找到一個轉義的庫code.iamcal.com/php/emoji/,但是轉為Unicode之後,還是4個位元組,一樣存不進,應該說根本沒轉。轉為其他格式的emoji又怕以後新增了表情不好做,你們在不改資料庫編碼的前提下,是怎麼弄的?
方法1:base_encode64
這種方法是可以,但是舊數據沒有經過encode操作,取數據的時候如果統一進行decode的話,舊數據會丟失的。
方法2:urlencode
這個似乎可以,對沒有經過encode的數據進行decode也不會有影響,而且多次decode似乎也不會有影響。你們說這個方法有缺陷嗎?
=======================
一個發現,微信獲取用戶基本信息的時候,笑哭那個表情print_r出的是\ud83d\ude02,而我存儲的時候,報錯說這個 \xF0\x9F\x98\x82 值不能存儲,請問這是怎麼回事,自動轉碼了,轉成的這是什麼?是微信轉碼過了嗎?
=======================
方法3:最後採用了下面採納的那個方法,因為我覺得它有下面幾個優點:
1、那個方法只轉換表情,不會轉換中文,所以數據還是直接可讀的
資料庫中存儲起來是這樣的, 後面的\ud83d\udca5可以隨意復制粘貼,而顯示出來是這樣的,
2、不會把表情轉換為其它標准,只有一個簡單的,固定的轉換演算法,也就是說不需要一個表情庫來對照著轉換,所以以後其它人要使用這個數據的時候,也很容易知道每個表情是對應的哪個。就算蘋果大爺又增加了表情,也不需要做什麼額外的修改。
3、可以無限decode輸出的都是正確的內容。因為有的時候可能需要在一次請求中的兩個地方做decode,其它decode多次會把正確的數據改成其它數據,這個不會。

② php存入emoji表情出現亂碼,資料庫已經改為utf8mb4編碼了依然亂碼

你插入數據的時候寫的insert中欄位數據的編碼不對。你要轉換成相應的字元編碼才可以的。
<?php
header("Content-type:text/html;charset=utf8");
//你的代碼
//也可以用notepad++將文件格式改為UTF8
?>

插入資料庫需要
1
mysql_query("SET NAMES UTF8");

閱讀全文

與php表情存不進資料庫相關的資料

熱點內容
photoshop合成兩個pdf文件 瀏覽:354
保密文件如何外借 瀏覽:763
手機無線密碼怎麼查看 瀏覽:821
如何刪除己下載未安裝的文件 瀏覽:806
招商銀行app怎麼登陸二類卡 瀏覽:508
谷歌瀏覽器的debug調試工具 瀏覽:163
哪個數控編程是免費的 瀏覽:368
蘋果7plus玫瑰金報價 瀏覽:800
杭州自行車系統微信號 瀏覽:352
網路語偷豬是什麼意思 瀏覽:309
三星i9300線刷教程圖解 瀏覽:248
編程競賽特訓哪裡好 瀏覽:28
提取驅動文件 瀏覽:102
如何壓縮wps文件 瀏覽:314
ps轉ico文件 瀏覽:303
無編程計算器是指哪些 瀏覽:852
jquery伺服器返回json數據格式 瀏覽:375
pl0編譯程序文本c版本 瀏覽:687
cocos2djs開發 瀏覽:124
怎麼取消蘋果電腦密碼怎麼設置 瀏覽:950

友情鏈接