解决微信开发,Emoji表情作为用户昵称存储数据问题。

2017-04-23  本文已影响0人  刘超_HItomi

微信开发时候,有些用户使用Emoji表情作为用户昵称,导致数据库保存昵称时候不识别导致昵称为空,现在提出以下解决方案:

/**
  +----------------------------------------------------------
 * 过滤用户昵称里面的特殊字符
  +----------------------------------------------------------
 * @param string    $str   待输出的用户昵称
  +----------------------------------------------------------
 */
function jsonName($str) {
    if($str){
        $tmpStr = json_encode($str);
        $tmpStr2 = preg_replace("#(\\\ud[0-9a-f]{3})#ie","",$tmpStr);
        $return = json_decode($tmpStr2);
        if(!$return){
            return jsonName($return);
        }
    }else{
        $return = '微信用户-'.time();
    }    
    return $return;
}

另外,如果是用mysql 数据库的话,可以用utf8mb4 字符集。

上一篇 下一篇

猜你喜欢

热点阅读