php存儲微信含emoji表情暱稱

開發環境:PHP+MySQL+TP5

方案一

  • 在存儲之前用base64對數據進行編碼然後存入

    base64_encode($str);

  • 從數據庫拿出來之前再進行解碼

    base64_decode($str);

方案二

  • 數據庫設置字符集

  • 數據表對應字段設置字符集

  • 設置tp5框架數據庫編碼  (沒有設置這一項,數據庫裏會把表情存儲爲四個問號)

方案三

直接去除暱稱裏的表情

// 過濾掉emoji表情
function filterEmoji($str)
{
 $str = preg_replace_callback(
   '/./u',
   function (array $match) {
    return strlen($match[0]) >= 4 ? '' : $match[0];
   },
   $str);
 
  return $str;
 }

因項目已經運行,數據庫裏已經有數據,前端獲取暱稱的地方很多,改動很繁瑣,故使用了方案二

參考教程:https://www.jb51.net/article/88805.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章