Solution for Deprecated function iconv_set_encoding() error while Joomla Installation in php 5.6

If you are trying to install Joomla (or other CMS) in php 5.6 environment and encounter the error : Deprecated: iconv_set_encoding()
– I’ve got a solution for you.

The error may look like following:

Deprecated: iconv_set_encoding(): Use of iconv.internal_encoding is deprecated in joomlaroot\libraries\joomla\string\string.php on line 27

Deprecated: iconv_set_encoding(): Use of iconv.input_encoding is deprecated in joomlaroot\libraries\joomla\string\string.php on line 28

Deprecated: iconv_set_encoding(): Use of iconv.output_encoding is deprecated in joomlaroot\libraries\joomla\string\string.php on line 29

Open the file string.php in “joomlaroot\libraries\joomla\string\” directory. Go to line 27.

Now change the following lines:

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”);
}

to the following:

if (function_exists(‘iconv’) && PHP_VERSION_ID < 50600)
{
// 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”);
}
elseif (PHP_VERSION_ID >= 50600)
{
ini_set(‘default_charset’, ‘UTF-8’);
}

This should resolve the problem and let you progress to the next level during Joomla installation.