2011-12-08 58 views
0

我在与ヶ辆()PHPヶ辆()未按预期

$txt = "árbol"; 
echo $txt; // outputs: árbol 
echo htmlentities($txt); // outputs: árbol (árbol) 

第二回声应该输出ARBOL(& aacute;)中的问题

我使用UTF -8:

<meta charset="utf-8"> 

发生了什么事?谢谢!

+0

值得一提的,这应该一般不需要做。如果您在破解字符时遇到问题,请调整您的编码。有点相关:[UTF-8一路通过](http://stackoverflow.com/q/279170) –

回答

3

您必须设置htmlentities()的第三个参数,它告诉要使用的字符集。由于您没有设置,因此使用默认值,默认值为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