2011-12-08 63 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