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.

Bookmark the permalink.

36 Comments

  1. I’m sorry I tried to do as listed by you but it does not work. Now tell me syntax error?
    >Parse error: syntax error, unexpected ‘=’ in C:\Users\Monica\xampp\htdocs\gruppoalbatro\libraries\joomla\string\string.php on line 32

  2. Pingback: Fix iconv_set_encoding() function in the librariesjoomlastringstring.php on line 27 | Khmer Developer

  3. I’ve got a solution doing this:

    Change de 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 (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');
    }

  4. Thanks it work on me!!!

  5. Kwesi Acquah-Dadzie

    great post!!!! Solved my problem…

    THANK U!!

  6. Thanks…solution totally

  7. Worked like a charm

  8. Or change code by this
    // Same for iconv
    if (function_exists(‘iconv’))
    {
    // These are settings that can be set inside code
    if (version_compare(PHP_VERSION, ‘5.6’, ‘>=’))
    {
    @ini_set(‘default_charset’, ‘UTF-8’);
    }
    else
    {
    iconv_set_encoding(“internal_encoding”, “UTF-8”);
    iconv_set_encoding(“input_encoding”, “UTF-8”);
    iconv_set_encoding(“output_encoding”, “UTF-8”);
    }
    }

  9. ALEXANDRA LÓPEZ thank you !!!!!

  10. Thanks a lot…….. its works for me greats

  11. Excelent! It works fine!
    Thanks

  12. am very much appreciative!!!it worked so well….

  13. thankz alexander lopez this work 🙂

  14. o my god! thanks a lot!

  15. Thank you very much! This was a real issue for me and your help is really appreciated.

  16. Thank you very much, my problem is solve

    Regards,
    Zohaib

  17. ALEXANDRA LOPEZ. YOU ARE THE BEST. THANKS A LOT

  18. Romer Ariel Romero Isnado

    Oh muchas gracias…

  19. Still Solving my problem …..Nice job Alex

  20. Aplique las soluciones.
    Todo bien los 3 pasos hasta que comienza a generar la base de datos. Ahí se queda colgada tratando de generar y no lo hace.
    Que podrá ser??? Agradecería que me ayudaran, hace días que estoy con este problema.
    Gracias

  21. Grigoris Papadopoulos

    Great solution! Thanks a lot!

  22. Agradecido por la informacion. Me aparece ahora el siguente mensaje. Fatal error: Call to undefined function simplexml_load_file() in /var/www/html/joomla/installation/includes/application.php on line 301
    Lo buscare en google. Gracias.

  23. Oscar Satizabal

    Thank you ALEXANDRA LÓPEZ

  24. great, it worked perfect.

  25. It’s work. Thanks!

  26. It work!! Thanks Lopez

  27. Thanks Alot. Works

  28. Cheers mates got it working!!

  29. cual seria el código completo, la verdad no tengo esas lineas y estoy pegado no he podido avanzar, me pueden ayudar con todo el código completo.

    Tengo solo string y dentro de este string nuevamente y no string.php, por favor ayuda

Leave a Reply

Your email address will not be published. Required fields are marked *