CK編輯器可以吧原始資料來源的HTML編碼也一起複製過來,像是我們要複製FB的一段貼文,可能就會有很多的emoji表情圖😄💔🐷🐹,但是這些表情圖寫入資料表時卻會發生錯誤!!
Incorrect string value: '\xF0\x9F\x91\xA9\xE2\x80...' for column `chestycedu`.`x03echestycedu_neilonlinevideocenter`.`description` at row 1
紅字那段就是發生錯誤的原因,因該是跟反斜線有關,上網估狗了一下找到一支不錯的function能解決這問題,CODE如下:
function sqlinjectionfilterEmoji($str){
$str = preg_replace_callback(
'/./u',
function (array $match) {
return strlen($match[0]) >= 4 ? '' : $match[0];
},
$str);
return $str;
}
只需要在送出表單接收post寫入資料表的地方使用即可!
sqlinjectionfilterEmoji($str=$_POST['text']);
去除反斜線後資料就能正常儲存,原本的emoji表情符號也會保留!
這樣問題就解決了,有需要的朋友參考看看!!
工作心得撰寫:徐嘉裕 Neil hsu
留言
張貼留言