首頁  >  文章  >  php教程  >  推送emoji表情亂碼的解決方法

推送emoji表情亂碼的解決方法

巴扎黑
巴扎黑原創
2016-11-07 11:36:102358瀏覽

推送內容如果包含了emoji表情,需要做以下修改 
1 mysql 要用5.5.3以上版本(如果不能升級,請用base64保存,推送時再轉碼) 
2 將表和推送內容表字段修改成utf8mb4_unicode_ci編碼格式(不需要改變系統的my.cnf,也不需要重啟mysql) 

如果用了apnsphp來推送,可能仍然會出現發送emoji表情變成?的問題: 
如果用了apnsphp來推送,可能仍然會出現發送emoji表情變成?的問題: 
如果用了Message.php的getPayload方法,在convert轉碼判斷上加上"false &&"禁止執行。因為這段程式碼會將部分emoji表情截斷。

Java代碼  

if (false && !defined('JSON_UNESCAPED_UNICODE') && function_   $sJSON = preg_replace_callback(  

                '~\\u([0-9a-f]f] {4})~i',  

                create_function('$aMatches', 'return  ') ,  

                $sJSON);  

}  

至此,且解決問題了。 


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn