導航:首頁 > 編程大全 > 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表情存不進資料庫相關的資料

熱點內容
暑假編程培訓怎麼學 瀏覽:88
對商家怎麼推廣app 瀏覽:92
xplane10安卓破解 瀏覽:309
下載中國知網免費入口登入工具 瀏覽:959
台達編程軟體如何下載安裝 瀏覽:758
c程序設計試題匯編譚浩強pdf 瀏覽:28
任務欄出現的文件在哪裡 瀏覽:119
房山網路大學如何報名 瀏覽:252
磊科無線路由器忘記用戶名和密碼 瀏覽:810
怎麼快速建word文件夾 瀏覽:372
怎麼把微信pdf文件發到qq郵箱 瀏覽:736
招標人在招標文件中公布的內容 瀏覽:793
資料庫技術有哪些工程應用 瀏覽:471
如何將cad中的文字復制到word中 瀏覽:772
string轉jsonjs 瀏覽:810
如何反制清潔網路計劃 瀏覽:500
資料庫資料庫實例是什麼意思 瀏覽:756
6splus南京東路蘋果專賣店報價 瀏覽:688
vm獲取配置文件中變數 瀏覽:639
三星note2哪個版本好 瀏覽:405

友情鏈接