htmlentities() returns nothing

Cole Marshall

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);
Cole Marshall

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');

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related