需设置 mysql 的字符集为 utf8mb4

解决方案 »

  1.   

    如果现在是utf8_general_ci,可以直接修改为utf8mb4吗?
    另外,在myphpadmin中,看不到utf8mb4,该怎么修改?
      

  2.   

    不升级也行
    入库前
    $text = preg_replace_callback('/[\xf0-\xf7].{3}/', function($r) { return '@E' . base64_encode($r[0]);}, $text);
    出库后
    $text = preg_replace_callback('/@E(.{6}==)/', function($r) {return base64_decode($r[1]);}, $text);
      

  3.   


    不太熟悉正则表达式,用了版主的给的方法,如果我只是想过滤掉这些表情符号,那return就写成  return ‘’;可以吗?
    会不会把一些其它的符号给去掉了?
      

  4.   

    $text = preg_replace_callback('/[\xf0-\xf7].{3}/', function($r) { return '';}, $text);