Iconv functions are often used in PHP when you have problems with character encoding. When you have non-latin chars in the text you work with, you might have problems with storing them, writing into database, etc. It becomes useful when you use several different encodings and when you need to store or output some text into a single place. So let’s go to PHP.net and take a look at all the functions that are related to iconv. It’s a pity, but you can’t find the list of encodings there. Just some examples are located under user contributed notes. But what to do if you need to have the list of encodings, to choose some to use? Just use the command line, with the following command:
iconv -l |
Let me paste the command output here:
437 |
500 |
500V1 |
850 |
851 |
852 |
855 |
856 |
857 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
866NAV |
869 |
874 |
904 |
1026 |
1046 |
1047 |
8859_1 |
8859_2 |
8859_3 |
8859_4 |
8859_5 |
8859_6 |
8859_7 |
8859_8 |
8859_9 |
10646-1:1993 |
10646-1:1993/UCS4 |
ANSI_X3.4-1968 |
ANSI_X3.4-1986 |
ANSI_X3.4 |
ANSI_X3.110-1983 |
ANSI_X3.110 |
ARABIC |
ARABIC7 |
ARMSCII-8 |
ASCII |
ASMO-708 |
ASMO_449 |
BALTIC |
BIG-5 |
BIG-FIVE |
BIG5-HKSCS |
BIG5 |
BIG5HKSCS |
BIGFIVE |
BS_4730 |
CA |
CN-BIG5 |
CN-GB |
CN |
CP-AR |
CP-GR |
CP-HU |
CP037 |
CP038 |
CP273 |
CP274 |
CP275 |
CP278 |
CP280 |
CP281 |
CP282 |
CP284 |
CP285 |
CP290 |
CP297 |
CP367 |
CP420 |
CP423 |
CP424 |
CP437 |
CP500 |
CP737 |
CP775 |
CP813 |
CP819 |
CP850 |
CP851 |
CP852 |
CP855 |
CP856 |
CP857 |
CP860 |
CP861 |
CP862 |
CP863 |
CP864 |
CP865 |
CP866 |
CP866NAV |
CP868 |
CP869 |
CP870 |
CP871 |
CP874 |
CP875 |
CP880 |
CP891 |
CP903 |
CP904 |
CP905 |
CP912 |
CP915 |
CP916 |
CP918 |
CP920 |
CP922 |
CP930 |
CP932 |
CP933 |
CP935 |
CP936 |
CP937 |
CP939 |
CP949 |
CP950 |
CP1004 |
CP1026 |
CP1046 |
CP1047 |
CP1070 |
CP1079 |
CP1081 |
CP1084 |
CP1089 |
CP1124 |
CP1125 |
CP1129 |
CP1132 |
CP1133 |
CP1160 |
CP1161 |
CP1162 |
CP1163 |
CP1164 |
CP1250 |
CP1251 |
CP1252 |
CP1253 |
CP1254 |
CP1255 |
CP1256 |
CP1257 |
CP1258 |
CP1361 |
CP10007 |
CPIBM861 |
CSA7-1 |
CSA7-2 |
CSASCII |
CSA_T500-1983 |
CSA_T500 |
CSA_Z243.4-1985-1 |
CSA_Z243.4-1985-2 |
CSA_Z243.419851 |
CSA_Z243.419852 |
CSDECMCS |
CSEBCDICATDE |
CSEBCDICATDEA |
CSEBCDICCAFR |
CSEBCDICDKNO |
CSEBCDICDKNOA |
CSEBCDICES |
CSEBCDICESA |
CSEBCDICESS |
CSEBCDICFISE |
CSEBCDICFISEA |
CSEBCDICFR |
CSEBCDICIT |
CSEBCDICPT |
CSEBCDICUK |
CSEBCDICUS |
CSEUCKR |
CSEUCPKDFMTJAPANESE |
CSGB2312 |
CSHPROMAN8 |
CSIBM037 |
CSIBM038 |
CSIBM273 |
CSIBM274 |
CSIBM275 |
CSIBM277 |
CSIBM278 |
CSIBM280 |
CSIBM281 |
CSIBM284 |
CSIBM285 |
CSIBM290 |
CSIBM297 |
CSIBM420 |
CSIBM423 |
CSIBM424 |
CSIBM500 |
CSIBM851 |
CSIBM855 |
CSIBM856 |
CSIBM857 |
CSIBM860 |
CSIBM863 |
CSIBM864 |
CSIBM865 |
CSIBM866 |
CSIBM868 |
CSIBM869 |
CSIBM870 |
CSIBM871 |
CSIBM880 |
CSIBM891 |
CSIBM903 |
CSIBM904 |
CSIBM905 |
CSIBM918 |
CSIBM922 |
CSIBM930 |
CSIBM932 |
CSIBM933 |
CSIBM935 |
CSIBM937 |
CSIBM939 |
CSIBM943 |
CSIBM1026 |
CSIBM1124 |
CSIBM1129 |
CSIBM1132 |
CSIBM1133 |
CSIBM1160 |
CSIBM1161 |
CSIBM1163 |
CSIBM1164 |
CSIBM11621162 |
CSISO4UNITEDKINGDOM |
CSISO10SWEDISH |
CSISO11SWEDISHFORNAMES |
CSISO14JISC6220RO |
CSISO15ITALIAN |
CSISO16PORTUGESE |
CSISO17SPANISH |
CSISO18GREEK7OLD |
CSISO19LATINGREEK |
CSISO21GERMAN |
CSISO25FRENCH |
CSISO27LATINGREEK1 |
CSISO49INIS |
CSISO50INIS8 |
CSISO51INISCYRILLIC |
CSISO58GB1988 |
CSISO60DANISHNORWEGIAN |
CSISO60NORWEGIAN1 |
CSISO61NORWEGIAN2 |
CSISO69FRENCH |
CSISO84PORTUGUESE2 |
CSISO85SPANISH2 |
CSISO86HUNGARIAN |
CSISO88GREEK7 |
CSISO89ASMO449 |
CSISO90 |
CSISO92JISC62991984B |
CSISO99NAPLPS |
CSISO103T618BIT |
CSISO111ECMACYRILLIC |
CSISO121CANADIAN1 |
CSISO122CANADIAN2 |
CSISO139CSN369103 |
CSISO141JUSIB1002 |
CSISO143IECP271 |
CSISO150 |
CSISO150GREEKCCITT |
CSISO151CUBA |
CSISO153GOST1976874 |
CSISO646DANISH |
CSISO2022CN |
CSISO2022JP |
CSISO2022JP2 |
CSISO2022KR |
CSISO2033 |
CSISO5427CYRILLIC |
CSISO5427CYRILLIC1981 |
CSISO5428GREEK |
CSISO10367BOX |
CSISOLATIN1 |
CSISOLATIN2 |
CSISOLATIN3 |
CSISOLATIN4 |
CSISOLATIN5 |
CSISOLATIN6 |
CSISOLATINARABIC |
CSISOLATINCYRILLIC |
CSISOLATINGREEK |
CSISOLATINHEBREW |
CSKOI8R |
CSKSC5636 |
CSMACINTOSH |
CSNATSDANO |
CSNATSSEFI |
CSN_369103 |
CSPC8CODEPAGE437 |
CSPC775BALTIC |
CSPC850MULTILINGUAL |
CSPC862LATINHEBREW |
CSPCP852 |
CSSHIFTJIS |
CSUCS4 |
CSUNICODE |
CSWINDOWS31J |
CWI-2 |
CWI |
DEC-MCS |
DEC |
DIN_66003 |
DK |
DS2089 |
DS_2089 |
E13B |
EBCDIC-AT-DE-A |
EBCDIC-AT-DE |
EBCDIC-BE |
EBCDIC-BR |
EBCDIC-CA-FR |
EBCDIC-CP-AR1 |
EBCDIC-CP-AR2 |
EBCDIC-CP-BE |
EBCDIC-CP-CA |
EBCDIC-CP-CH |
EBCDIC-CP-DK |
EBCDIC-CP-ES |
EBCDIC-CP-FI |
EBCDIC-CP-FR |
EBCDIC-CP-GB |
EBCDIC-CP-GR |
EBCDIC-CP-HE |
EBCDIC-CP-IS |
EBCDIC-CP-IT |
EBCDIC-CP-NL |
EBCDIC-CP-NO |
EBCDIC-CP-ROECE |
EBCDIC-CP-SE |
EBCDIC-CP-TR |
EBCDIC-CP-US |
EBCDIC-CP-WT |
EBCDIC-CP-YU |
EBCDIC-CYRILLIC |
EBCDIC-DK-NO-A |
EBCDIC-DK-NO |
EBCDIC-ES-A |
EBCDIC-ES-S |
EBCDIC-ES |
EBCDIC-FI-SE-A |
EBCDIC-FI-SE |
EBCDIC-FR |
EBCDIC-GREEK |
EBCDIC-INT |
EBCDIC-INT1 |
EBCDIC-IS-FRISS |
EBCDIC-IT |
EBCDIC-JP-E |
EBCDIC-JP-KANA |
EBCDIC-PT |
EBCDIC-UK |
EBCDIC-US |
EBCDICISFRISS |
ECMA-114 |
ECMA-118 |
ECMA-128 |
ECMA-CYRILLIC |
ELOT_928 |
ES2 |
EUC-CN |
EUC-JISX0213 |
EUC-JP-MS |
EUC-JP |
EUC-KR |
EUC-TW |
EUCCN |
EUCJP-MS |
EUCJP-OPEN |
EUCJP-WIN |
EUCJP |
EUCTW |
GB13000 |
GB18030 |
GBK |
GB_1988-80 |
GB_198880 |
GEORGIAN-ACADEMY |
GEORGIAN-PS |
GOST_19768-74 |
GOST_19768 |
GOST_1976874 |
GREEK-CCITT |
GREEK7-OLD |
GREEK8 |
HP-ROMAN8 |
IBM-856 |
IBM-922 |
IBM-930 |
IBM-932 |
IBM-933 |
IBM-935 |
IBM-937 |
IBM-939 |
IBM-943 |
IBM-1046 |
IBM-1047 |
IBM-1124 |
IBM-1129 |
IBM-1132 |
IBM-1133 |
IBM-1160 |
IBM-1161 |
IBM-1162 |
IBM-1163 |
IBM-1164 |
IBM256 |
IBM367 |
IBM437 |
IBM775 |
IBM813 |
IBM819 |
IBM848 |
IBM850 |
IBM852 |
IBM862 |
IBM866NAV |
IBM874 |
IBM875 |
IBM912 |
IBM915 |
IBM916 |
IBM920 |
IBM1004 |
IBM1046 |
IBM1047 |
IBM1089 |
IBM1162 |
IEC_P27-1 |
IEC_P271 |
INIS-8 |
INIS-CYRILLIC |
ISIRI-3342 |
ISIRI3342 |
ISO-2022-CN-EXT |
ISO-2022-CN |
ISO-2022-JP-2 |
ISO-2022-JP-3 |
ISO-2022-JP |
ISO-2022-KR |
ISO-8859-1 |
ISO-8859-2 |
ISO-8859-3 |
ISO-8859-4 |
ISO-8859-5 |
ISO-8859-6 |
ISO-8859-7 |
ISO-8859-8 |
ISO-8859-9 |
ISO-8859-10 |
ISO-8859-11 |
ISO-8859-13 |
ISO-8859-14 |
ISO-8859-15 |
ISO-8859-16 |
ISO-10646 |
ISO-10646/UCS2 |
ISO-10646/UCS4 |
ISO-10646/UTF-8 |
ISO-10646/UTF8 |
ISO-CELTIC |
ISO-IR-4 |
ISO-IR-6 |
ISO-IR-8-1 |
ISO-IR-9-1 |
ISO-IR-10 |
ISO-IR-11 |
ISO-IR-14 |
ISO-IR-15 |
ISO-IR-16 |
ISO-IR-17 |
ISO-IR-18 |
ISO-IR-19 |
ISO-IR-21 |
ISO-IR-25 |
ISO-IR-27 |
ISO-IR-37 |
ISO-IR-49 |
ISO-IR-50 |
ISO-IR-51 |
ISO-IR-54 |
ISO-IR-55 |
ISO-IR-57 |
ISO-IR-60 |
ISO-IR-61 |
ISO-IR-69 |
ISO-IR-84 |
ISO-IR-85 |
ISO-IR-86 |
ISO-IR-88 |
ISO-IR-89 |
ISO-IR-90 |
ISO-IR-92 |
ISO-IR-98 |
ISO-IR-99 |
ISO-IR-100 |
ISO-IR-101 |
ISO-IR-103 |
ISO-IR-109 |
ISO-IR-110 |
ISO-IR-111 |
ISO-IR-121 |
ISO-IR-122 |
ISO-IR-126 |
ISO-IR-127 |
ISO-IR-138 |
ISO-IR-139 |
ISO-IR-141 |
ISO-IR-143 |
ISO-IR-144 |
ISO-IR-148 |
ISO-IR-150 |
ISO-IR-151 |
ISO-IR-153 |
ISO-IR-155 |
ISO-IR-156 |
ISO-IR-157 |
ISO-IR-166 |
ISO-IR-179 |
ISO-IR-193 |
ISO-IR-197 |
ISO-IR-199 |
ISO-IR-203 |
ISO-IR-209 |
ISO-IR-226 |
ISO646-CA |
ISO646-CA2 |
ISO646-CN |
ISO646-CU |
ISO646-DE |
ISO646-DK |
ISO646-ES |
ISO646-ES2 |
ISO646-FI |
ISO646-FR |
ISO646-FR1 |
ISO646-GB |
ISO646-HU |
ISO646-IT |
ISO646-JP-OCR-B |
ISO646-JP |
ISO646-KR |
ISO646-NO |
ISO646-NO2 |
ISO646-PT |
ISO646-PT2 |
ISO646-SE |
ISO646-SE2 |
ISO646-US |
ISO646-YU |
ISO2022CNEXT |
ISO6937 |
ISO8859-1 |
ISO8859-2 |
ISO8859-3 |
ISO8859-4 |
ISO8859-5 |
ISO8859-6 |
ISO8859-7 |
ISO8859-8 |
ISO8859-9 |
ISO8859-10 |
ISO8859-11 |
ISO8859-13 |
ISO8859-14 |
ISO8859-15 |
ISO8859-16 |
ISO88591 |
ISO88592 |
ISO88593 |
ISO88594 |
ISO88595 |
ISO88596 |
ISO88597 |
ISO88598 |
ISO88599 |
ISO885910 |
ISO885911 |
ISO885913 |
ISO885914 |
ISO885915 |
ISO885916 |
ISO_646.IRV:1991 |
ISO_2033-1983 |
ISO_2033 |
ISO_5427-EXT |
ISO_5427 |
ISO_5427:1981 |
ISO_5427EXT |
ISO_5428 |
ISO_5428:1980 |
ISO_6937-2 |
ISO_6937-2:1983 |
ISO_6937 |
ISO_6937:1992 |
ISO_8859-1 |
ISO_8859-1:1987 |
ISO_8859-2 |
ISO_8859-2:1987 |
ISO_8859-3 |
ISO_8859-3:1988 |
ISO_8859-4 |
ISO_8859-4:1988 |
ISO_8859-5 |
ISO_8859-5:1988 |
ISO_8859-6 |
ISO_8859-6:1987 |
ISO_8859-7 |
ISO_8859-7:1987 |
ISO_8859-7:2003 |
ISO_8859-8 |
ISO_8859-8:1988 |
ISO_8859-9 |
ISO_8859-9:1989 |
ISO_8859-10 |
ISO_8859-10:1992 |
ISO_8859-14 |
ISO_8859-14:1998 |
ISO_8859-15 |
ISO_8859-15:1998 |
ISO_8859-16 |
ISO_8859-16:2001 |
ISO_9036 |
ISO_10367-BOX |
ISO_10367BOX |
ISO_69372 |
JIS_C6220-1969-RO |
JIS_C6229-1984-B |
JIS_C62201969RO |
JIS_C62291984B |
JOHAB |
JS |
JUS_I.B1.002 |
KOI-7 |
KOI-8 |
KOI8-R |
KOI8-T |
KOI8-U |
KOI8 |
KOI8U |
L1 |
L2 |
L3 |
L4 |
L5 |
L6 |
L7 |
L8 |
L10 |
LATIN-9 |
LATIN-GREEK-1 |
LATIN-GREEK |
LATIN7 |
LATIN8 |
LATIN10 |
MAC-CYRILLIC |
MAC-IS |
MAC-SAMI |
MAC-UK |
MAC |
MACCYRILLIC |
MACIS |
MACUK |
MACUKRAINIAN |
MS-ANSI |
MS-ARAB |
MS-CYRL |
MS-EE |
MS-GREEK |
MS-HEBR |
MS-MAC-CYRILLIC |
MS-TURK |
MS932 |
MS936 |
MSCP949 |
MSCP1361 |
MSMACCYRILLIC |
MSZ_7795.3 |
MS_KANJI |
NATS-DANO |
NATS-SEFI |
NC_NC0010 |
NC_NC00-10 |
NC_NC00-10:81 |
NF_Z_62-010 |
NF_Z_62-010_(1973) |
NF_Z_62-010_1973 |
NF_Z_62010 |
NF_Z_62010_1973 |
NS_4551-1 |
NS_4551-2 |
NS_45511 |
NS_45512 |
OS2LATIN1 |
OSF00010001 |
OSF00010002 |
OSF00010003 |
OSF00010004 |
OSF00010005 |
OSF00010006 |
OSF00010007 |
OSF00010008 |
OSF00010009 |
OSF0001000A |
OSF00010020 |
OSF00010100 |
OSF00010101 |
OSF00010102 |
OSF00010104 |
OSF00010105 |
OSF00010106 |
OSF00030010 |
OSF0004000A |
OSF0005000A |
OSF05010001 |
OSF100201A4 |
OSF100201A8 |
OSF100201B5 |
OSF100201F4 |
OSF100203B5 |
OSF1002011C |
OSF1002011D |
OSF1002035D |
OSF1002035E |
OSF1002035F |
OSF1002036B |
OSF1002037B |
OSF10010001 |
OSF10020025 |
OSF10020111 |
OSF10020115 |
OSF10020116 |
OSF10020118 |
OSF10020122 |
OSF10020129 |
OSF10020352 |
OSF10020354 |
OSF10020357 |
OSF10020359 |
OSF10020360 |
OSF10020364 |
OSF10020365 |
OSF10020366 |
OSF10020367 |
OSF10020370 |
OSF10020387 |
OSF10020388 |
OSF10020396 |
OSF10020402 |
OSF10020417 |
PT154 |
R8 |
RK1048 |
RUSCII |
SEN_850200_B |
SEN_850200_C |
SHIFT-JIS |
SHIFT_JIS |
SHIFT_JISX0213 |
SJIS-OPEN |
SJIS-WIN |
SJIS |
SS636127 |
STRK1048-2002 |
ST_SEV_358-88 |
T.61-8BIT |
T.61 |
T.618BIT |
TCVN-5712 |
TCVN |
TCVN5712-1 |
TCVN5712-1:1993 |
TIS-620 |
TIS620-0 |
TIS620.2529-1 |
TIS620.2533-0 |
TIS620 |
TS-5881 |
TSCII |
UCS-2 |
UCS-2BE |
UCS-2LE |
UCS-4 |
UCS-4BE |
UCS-4LE |
UHC |
UJIS |
UNICODEBIG |
UNICODELITTLE |
US-ASCII |
UTF-7 |
UTF-16 |
UTF-16BE |
UTF-16LE |
UTF-32 |
UTF-32BE |
UTF-32LE |
UTF7 |
UTF16 |
UTF16BE |
UTF16LE |
UTF32 |
UTF32BE |
UTF32LE |
VISCII |
WCHAR_T |
WIN-SAMI-2 |
WINBALTRIM |
WINDOWS-31J |
WINDOWS-874 |
WINDOWS-936 |
WINDOWS-1250 |
WINDOWS-1251 |
WINDOWS-1252 |
WINDOWS-1253 |
WINDOWS-1254 |
WINDOWS-1255 |
WINDOWS-1256 |
WINDOWS-1257 |
WINDOWS-1258 |
WINSAMI2 |
WS2 |
YU |
Now all you need is just to select one of them that suits your needs and use them. Note, that if you try to use a wrong encoding, you won’t get any result, but won’t also get any error messages. So be careful when selecting encodings from the list.
In order to use iconv in PHP, you should check your configure line and recompile PHP if necessary. It should look like:
And especially iconv section:
If you don’t have all of this all you need is just to recompile PHP with –with-iconv