將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這樣就相對完美了