Resolved
Overview of the issue
Iconv is a PHP module required for some features of WPML. By default, this module is enabled when PHP is installed on a server. However, some hosting providers may disable it.
https://www.php.net/manual/en/book.iconv.php
Thus, if you activate WPML and you don’t have the Iconv module activated, you’ll see the following error message:
Fatal error: Uncaught Error: Call to undefined function Symfony\Polyfill\Mbstring\iconv() in .../wp-content/plugins/sitepress-multilingual-cms/vendor/symfony/polyfill-mbstring/Mbstring.php:409
Additionally you might encounter error like this one in WPML 4.3.16
Fatal error: Uncaught Error: Class 'Normalizer' not found in .../wp-content/plugins/sitepress-multilingual-cms/vendor/symfony/polyfill-iconv/Iconv.php:689
Workaround
Our developers are working to resolve this automatically in our upcoming versions of WPML but we recommend you to:
- Professionally Managed Hosting:
Contact your hosting provider and request that the PHP Module iconv and the PHP module intl be installed and enabled.
- Self Managed Hosting:
Reinstalling, updating or recompiling PHP appears to be the easiest option if the iconv module was never installed.
Please make sure you do not compile PHP using “–without-iconv”. - Install or enable intl PHP module
Once iconv is enabled, you will find the following table in your phpinfo:
Make sure to also enable the PHP module intl