doulu8415 2014-02-04 03:34
浏览 69
已采纳

htmlentities()什么都不返回

When sending a string to htmlentities() a result is produced in our production environment, but in my development environment, htmlentities() produces an empty string.

$content = htmlentities($content, ENT_NOQUOTES);
  • 写回答

1条回答 默认 最新

  • doulan8846 2014-02-04 03:34
    关注

    An encoding should be specified as the encoding defaults to one value in older versions of PHP and another in newer versions of PHP:

    If [the encoding] is omitted, the default value for this argument is ISO-8859-1 in versions of PHP prior to 5.4.0, and UTF-8 from PHP 5.4.0 onwards.

    In my case, the string being passed to htmlentities was encoded in ISO-8859-1, which worked in the older version of PHP without specifying an encoding, but the newer version of PHP attempted to parse it with a UTF-8 encoding instead, which produced the empty string. Specifying an encoding as such fixed this issue:

    $content = htmlentities($content, ENT_NOQUOTES, 'ISO-8859-1');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?