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