繁体   English   中英

PHP htmlentities()无法正常工作

[英]PHP htmlentities() not working as expected

我在htmlentities()中遇到问题

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

第二个回显应该输出árbol(á)

我正在使用utf-8:

<meta charset="utf-8">

这是怎么回事? 谢谢!

您必须设置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/zh/function.htmlentities.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM