会动的耳朵  

将emoji转换成utf8 然后存储到数据库,但是 效率低

 1 public function rrr($text) {
 2         $text = 'a😁ss😁ss😁ss';
 3         //处理名字的emoji符号
 4         $tmpStr = json_encode($text); //暴露出unicode
 5 
 6         $tmpStr1 = preg_replace_callback("#(\\\ue[0-9a-f]{3})#i", function($a) {
 7             //var_dump($a);
 8             return addslashes($a[1]);
 9             //return $a;
10         }, $tmpStr);
11         $text = json_decode($tmpStr1); 
12         return $tmpStr1;
13     }

 

直接mysql支持:需要5.5以上的版本

更换数据库编码 database default character set: utf8mb4.

default collection:utf8mb4_general_ci;



对应的表:comment: default character set: utf8mb4.

default collection:utf8mb4_general_ci;



对应的字段:content: character set: utf8mb4.    collection:utf8mb4_general_ci;

php端 数据库编码 要改成utf8mb4

这样就相对完美了

 

posted on 2016-05-24 17:33  会动的耳朵  阅读(2195)  评论(0编辑  收藏  举报