升级到 PHP 5.5 后 htmlentities 返回空白
htmlentities returning blank after upgrading to PHP 5.5
升级到 PHP 5.5 后,html_entities 为某些字符串返回空白。具体来说,它似乎是包含法语字符的字符串。我已经尝试将其设置为 UTF-8 但仍然空白:
htmlentities($str,ENT_COMPAT, 'UTF-8');
有人知道这是怎么回事吗?
我的代码在 PHP 5.3.3.
上运行没有问题
感谢您的帮助。
编辑:评论中的示例字符串
"<h1>Obtenez de meilleurs résultats en moins de temps. Garanti.</h1>"
引用自http://php.net/manual/en/function.htmlentities.php
If the input string contains an invalid code unit sequence within the given encoding an empty string will be returned, unless either the ENT_IGNORE or ENT_SUBSTITUTE flags are set.
所以像
<?php
$str = "<h1>\xe2 title</h1>";
echo htmlentities($str,ENT_COMPAT, 'UTF-8');
将return一个空字符串
升级到 PHP 5.5 后,html_entities 为某些字符串返回空白。具体来说,它似乎是包含法语字符的字符串。我已经尝试将其设置为 UTF-8 但仍然空白:
htmlentities($str,ENT_COMPAT, 'UTF-8');
有人知道这是怎么回事吗?
我的代码在 PHP 5.3.3.
上运行没有问题感谢您的帮助。
编辑:评论中的示例字符串
"<h1>Obtenez de meilleurs résultats en moins de temps. Garanti.</h1>"
引用自http://php.net/manual/en/function.htmlentities.php
If the input string contains an invalid code unit sequence within the given encoding an empty string will be returned, unless either the ENT_IGNORE or ENT_SUBSTITUTE flags are set.
所以像
<?php
$str = "<h1>\xe2 title</h1>";
echo htmlentities($str,ENT_COMPAT, 'UTF-8');
将return一个空字符串