我现在对向数据库中注入特殊字符感到困惑......
例如,我想接受这样的字符ö
, ù
等,我想在 html 上显示它们,例如Löic
这是一个法国名字。
我想我必须将这些特殊字符转换为 html 实体,然后再将它们注入数据库,例如ö
for ö
.
如果我使用htmlspecialchars()
来转换它们,
Array
(
[name] => Löic
)
if(isset($_POST['name'])) $name = preg_replace('/\s\s+/', ' ', trim($_POST['name']));
$name = htmlspecialchars($name, ENT_QUOTES);
所以应该转换成这样Löic
但它根本没有转换,而是原样,
Löic
这就是我检查数据库时得到的结果,它存储为,
Löic
如果我使用htmlentities()
来转换它们,
$name = htmlentities($name, ENT_QUOTES);
然后我明白了,
Löic
它在我的 html 上显示为这样,
Löic
为什么要这样做??我的头要爆炸了!我不知道问题出在哪里。请帮忙...我该怎么做才能使它正确?
是否与utf8_general_ci
我在那个名称栏设置的?
Thanks.