处理微信昵称中带表情符无法存到数据库问题。数据库需要加长微信昵称字段长度
/**对emoji表情转义 * @param $nickname * @return string */ function emoji_encode($nickname) { $strEncode = ''; $length = mb_strlen($nickname, 'utf-8'); for ($i = 0; $i < $length; $i++) { $_tmpStr = mb_substr($nickname, $i, 1, 'utf-8'); if (strlen($_tmpStr) >= 4) { $strEncode .= '[[EMOJI:' . rawurlencode($_tmpStr) . ']]'; } else { $strEncode .= $_tmpStr; } } return $strEncode; } //对emoji表情转反义 function emoji_decode($str) { $strDecode = preg_replace_callback('|\[\[EMOJI:(.*?)\]\]|', function ($matches) { return rawurldecode($matches[1]); }, $str); return $strDecode; }