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

熱點內容
wokrNC和UG編程哪個好 瀏覽:487
愛奇藝隨刻文件名 瀏覽:40
wps是怎麼壓縮文件 瀏覽:986
dos配置文件名 瀏覽:582
java軟體工程師做什麼 瀏覽:897
3dmax導出ive文件 瀏覽:464
數據重復性好是什麼意思 瀏覽:166
如何查找電腦文件使用歷史記錄 瀏覽:821
linux可以運行exe的文件嗎 瀏覽:935
庫幣是哪個國家的app 瀏覽:201
大智慧internet文件夾有哪些文件 瀏覽:89
編程培訓課程哪個排名好 瀏覽:124
我的cad怎麼沒顯示文件選項卡 瀏覽:952
命令行當前是哪個資料庫 瀏覽:588
為什麼appstore打開空白 瀏覽:574
選貨車軟體什麼app最好 瀏覽:577
psv仙境傳說ace如何降級版本 瀏覽:460
杭州哪裡學少兒編程比較好 瀏覽:642
什麼網站可以自己翻唱歌曲 瀏覽:291
javalist作為參數 瀏覽:176

友情鏈接