0
當我張貼的東西到我的數據庫有'或é等我得到這個:PHP - 引號字符
Don't worry guys,
這應該是:
Don't worry guys
這是我如何添加文本數據庫:
$text = $_POST['text'];
$text = mb_convert_encoding($text, 'UTF-8', 'UTF-8');
$text = htmlentities($text, ENT_QUOTES, 'UTF-8');
這裏是我的數據庫表中的一些信息:
Format dynamic
Character Set (Sorting) utf8_general_ci
嗯,這就是'htmlentities()'所做的。你在期待什麼? – Ohgodwhy 2014-09-18 18:45:09
所以你的問題到底是什麼? – ReZa 2014-09-18 18:45:31
首先,您似乎將輸入字符串從UTF-8轉換爲冗餘的UTF-8。我不確定這是否是一種處理PHP多字節字符串的駭客解決方法,如果是的話,請忽略我的評論。這個問題是由你的特性調用引起的,它將你的特殊字符轉換成HTML實體。在數據庫中存儲原始的原始UTF-8字符串。只有當你想將它嵌入HTML輸出時,你必須確保將HTML控制字符轉換爲實體,以避免代碼注入。 – tiguchi 2014-09-18 18:47:45