我遇到了htmlentities()
的问题$txt = "árbol";
echo $txt; // outputs: árbol
echo htmlentities($txt); // outputs: árbol (árbol)
第二个回音应输出árbol(& aacute;)
我正在使用utf-8:
<meta charset="utf-8">
发生了什么事?谢谢!
答案 0 :(得分:3)
您必须设置htmlentities()
的第三个参数,告诉charset使用。由于您未设置,因此使用默认值,默认值为ISO-8859-1,而不是UTF-8。
与htmlspecialchars()一样,它采用可选的第三个参数charset来定义转换中使用的字符集。目前,ISO-8859-1字符集用作默认值。
只是为了澄清,这是函数签名:
string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $charset [, bool $double_encode = true ]]] )
在这里,您将找到官方文档:http://php.net/manual/en/function.htmlentities.php