将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
这样就相对完美了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步