我试图在表单中转义一些用户输入。
if( !empty($_SESSION['descr']) )
{
$descr = htmlentities($_SESSION['descr']);
$descr = stripslashes($descr);
$descr = html_entity_decode($descr);
echo"<textarea cols=\"50\" rows=\"10\" name=\"descr\" >".$descr."</textarea>";
}
else
{
echo "<textarea cols=\"50\" rows=\"10\" name=\"descr\" ></textarea>";
}
我首先没有使用html_entity_decode(),然后我意识到如果用户放了一些法语字符,那么它将无法正确显示它们。 是否可以像html_entity_decode()一样使用它?
答案 0 :(得分:0)
您应该将字符串的编码更改为ISO-8859-15,它会拾取LATIN-1未命中的字符(即法语字符):
$descr = htmlentities($desc,ENT_COMPAT,'ISO-8859-15');
ENT_COMPAT可能不是您要查找的标志,但您可以在manual中找到副标题。