This module contains an interface to iconv character set conversion
facility. With this module, you can turn a string represented by a local
character set into the one represented by another character set,
which may be the Unicode character set. Supported character sets
depend on the iconv implementation of your system.
Note that the iconv function on some systems may not work
as you expect. In such case, it'd be a good idea to install the
GNU libiconv library. It will most
likely end up with more consistent results.
Since PHP 5.0.0, this extension comes with
various utility functions that help you to write multilingual
scripts. Let's have a look at the following sections to explore the new
You will need nothing if the system you are using is one of the recent
POSIX-compliant systems because standard C libraries that are supplied in
them must provide iconv facility. Otherwise, you have to get the
libiconv library installed in
To use functions provided by this module, the
PHP binary must be built with
the following configure line:
Note to Windows® Users:
In order to enable this module on a Windows® environment, you need to put
a DLL file named iconv.dll or
iconv-1.3.dll (prior to 4.2.1)
which is bundled with the PHP/Win32 binary package into a directory
specified by the PATH environment variable
or one of the system directories of your Windows® installation.
This module is part of PHP as of PHP 5 thus iconv.dll
and php_iconv.dll is not needed anymore.
The behaviour of these functions is affected by settings in php.ini.
Table 1. Iconv configuration options
|iconv.input_encoding||"ISO-8859-1"||PHP_INI_ALL||Available since PHP 4.0.5.|
|iconv.output_encoding||"ISO-8859-1"||PHP_INI_ALL||Available since PHP 4.0.5.|
|iconv.internal_encoding||"ISO-8859-1"||PHP_INI_ALL||Available since PHP 4.0.5.|
For further details and definitions of the
PHP_INI_* constants, see the Appendix G
Some systems (like IBM AIX) use "ISO8859-1" instead of "ISO-8859-1" so this
value has to be used in configuration options and function parameters.
Configuration option iconv.input_encoding is
currently not used for anything.
This extension has no resource types defined.
Since PHP 4.3.0 it is possible to identify at
runtime which iconv implementation is adopted by this extension.
Table 2. iconv constants
|ICONV_IMPL||string||The implementation name|
|ICONV_VERSION||string||The implementation version|
Writing implementation-dependent scripts with these constants is strongly
Since PHP 5.0.0, the following constants are
Table 3. iconv constants available since PHP 5.0.0