在手機端輸入emoji時遇到一個問題(無法儲存進數(shù)據(jù)庫)。搜索問題后發(fā)現(xiàn)時數(shù)據(jù)庫的utf8mb4原因(因為emoji是4字節(jié),而utf-8得數(shù)據(jù)庫是3字節(jié))。然后得到這么一個js函數(shù)可以將emoji表情轉(zhuǎn)換為utf-8字符保存function utf16toEntities(str) { //檢測utf16emoji表情 轉(zhuǎn)換為實體字符以供后臺存儲 var patt=/[\ud800-\udbff][\udc00-\udfff]/g; str = str.replace(patt, function(char){ var H, L, code; if (char.length===2) { //輔助平面字符(我們需要做處理的一類) H = char.charCodeAt(0); // 取出高位 L = char.charCodeAt(1); // 取出低位 code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 轉(zhuǎn)換算法 return "&#" + code + ";"; } else { return char; } }); return str; }問題就是我想把這個函數(shù)轉(zhuǎn)成PHP函數(shù),請問該怎么轉(zhuǎn)???????
關(guān)于PHP接收emoji轉(zhuǎn)換存儲問題?
慕田峪9158850
2019-03-22 19:15:17