升级到 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');

https://3v4l.org/9OuRE

将return一个空字符串