将emoji转换成utf8 而后存储到数据库,可是 效率低php
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以上的版本mysql
更换数据库编码 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这样就相对完美了