在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/PHP  數(shù)據(jù)庫(kù)  HTML/ 關(guān)于PHP接收emoji轉(zhuǎn)換存儲(chǔ)問(wèn)題?

關(guān)于PHP接收emoji轉(zhuǎn)換存儲(chǔ)問(wèn)題?

在手機(jī)端輸入emoji時(shí)遇到一個(gè)問(wèn)題(無(wú)法儲(chǔ)存進(jìn)數(shù)據(jù)庫(kù))。
搜索問(wèn)題后發(fā)現(xiàn)時(shí)數(shù)據(jù)庫(kù)的utf8mb4原因(因?yàn)閑moji是4字節(jié),而utf-8得數(shù)據(jù)庫(kù)是3字節(jié))。
然后得到這么一個(gè)js函數(shù)可以將emoji表情轉(zhuǎn)換為utf-8字符保存

function utf16toEntities(str) { //檢測(cè)utf16emoji表情 轉(zhuǎn)換為實(shí)體字符以供后臺(tái)存儲(chǔ)
         var patt=/[\ud800-\udbff][\udc00-\udfff]/g;
         str = str.replace(patt, function(char){
               var H, L, code;
               if (char.length===2) {   //輔助平面字符(我們需要做處理的一類(lèi))
                     H = char.charCodeAt(0); // 取出高位
                     L = char.charCodeAt(1); // 取出低位
                     code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 轉(zhuǎn)換算法
                     return "&#" + code + ";";
               } else {
                     return char;
               }
         });
         return str;
      }

問(wèn)題就是我想把這個(gè)函數(shù)轉(zhuǎn)成PHP函數(shù),請(qǐng)問(wèn)該怎么轉(zhuǎn)????

回答
編輯回答
擱淺

你直接存的時(shí)候$value = json_encode($value)弄成json格式存不行嗎。。。。只不過(guò)這樣取出來(lái)的時(shí)候要json_decode()解析一下

2017年12月27日 01:47
編輯回答
兔寶寶

數(shù)據(jù)庫(kù)相關(guān)字段用utf8mb4不行嗎,為什么非得轉(zhuǎn)呢

2017年2月18日 06:35