(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
iconv_set_encoding — Set current setting for character encoding conversion
Changes the value of the internal configuration variable specified by
type to encoding.
type
The value of type can be any one of these:
encodingThe character set.
Example #1 iconv_set_encoding() example
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
?>
I encountered the same issue than joe dot bowman at edigitalresearch.com
Even if i read on the web that it is a usual issue when using PHP 5.6 and upper, i didn't encounter it on every sites on which i use PHP 5.6.
Nevertheless, i had to find a solution because, when the issue appears, it's embarrassing. This is what i found thanks to Alexandra López on http://hasibul.info.
Instead of :
if (function_exists(‘iconv’))
{
// These are settings that can be set inside code
iconv_set_encoding("internal_encoding", "UTF-8?);
iconv_set_encoding("input_encoding", "UTF-8?);
iconv_set_encoding("output_encoding", "UTF-8?);
}
i use :
if (PHP_VERSION_ID < 50600) {
iconv_set_encoding('input_encoding', 'UTF-8');
iconv_set_encoding('output_encoding', 'UTF-8');
iconv_set_encoding('internal_encoding', 'UTF-8');
} else {
ini_set('default_charset', 'UTF-8');
}