当我向我的数据库发布有'或é等的东西时,我得到了这个:
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
答案 0 :(得分:1)
在这种情况下,使用htmlspecialchars()
代替htmlentities()
来获得您想要的结果:
htmlspecialchars($text, ENT_COMPAT | ENT_HTML401, 'UTF-8')
答案 1 :(得分:1)
虽然这不是一个避免sql注入的好习惯
使用html_entity_decode()
解码html entites来解决该问题