PHP 5.3.0 の mbstring で使用可能な文字コード名とエイリアス
PHP 5.3.0 で mb_encoding_aliases() が追加されました。
この関数は、第1引数に指定した文字コードが mbstring で使用できる場合、そのエイリアス名を配列で返します。引数の文字コードは大文字、小文字を区別しません。また、MIME名やエイリアス名も指定可能です。もし、指定した文字コードが不正な場合、Warning が出力され、返り値として FALSE を返します。
これで、mb_list_encodings()、mb_preferred_mime_name()、mb_encoding_aliases() を使用すれば、簡単に mbstring で使用可能な文字コード一覧を取得できるようになりました。
<?php foreach( mb_list_encodings() as $e ) { echo $e . "\t" . @mb_preferred_mime_name( $e ) . "\t" . implode( ", ", mb_encoding_aliases( $e ) ) . "\n"; }
結果は以下の通りです。
文字コード名 MIME名 エイリアス名 pass none auto unknown wchar byte2be byte2le byte4be byte4le BASE64 BASE64 UUENCODE x-uuencode HTML-ENTITIES HTML-ENTITIES HTML, html Quoted-Printable Quoted-Printable qprint 7bit 7bit 8bit 8bit binary UCS-4 UCS-4 ISO-10646-UCS-4, UCS4 UCS-4BE UCS-4BE UCS-4LE UCS-4LE UCS-2 UCS-2 ISO-10646-UCS-2, UCS2, UNICODE UCS-2BE UCS-2BE UCS-2LE UCS-2LE UTF-32 UTF-32 utf32 UTF-32BE UTF-32BE UTF-32LE UTF-32LE UTF-16 UTF-16 utf16 UTF-16BE UTF-16BE UTF-16LE UTF-16LE UTF-8 UTF-8 utf8 UTF-7 UTF-7 utf7 UTF7-IMAP ASCII US-ASCII ANSI_X3.4-1968, iso-ir-6, ANSI_X3.4-1986, ISO_646.irv:1991, US-ASCII, ISO646-US, us, IBM367, cp367, csASCII EUC-JP EUC-JP EUC, EUC_JP, eucJP, x-euc-jp SJIS Shift_JIS x-sjis, SHIFT-JIS eucJP-win EUC-JP eucJP-open, eucJP-ms SJIS-win Shift_JIS SJIS-open, CP932, Windows-31J, MS_Kanji CP51932 CP51932 cp51932 JIS ISO-2022-JP ISO-2022-JP ISO-2022-JP ISO-2022-JP-MS ISO-2022-JP ISO2022JPMS Windows-1252 Windows-1252 cp1252 Windows-1254 Windows-1254 CP1254, CP-1254, WINDOWS-1254 ISO-8859-1 ISO-8859-1 ISO_8859-1, latin1 ISO-8859-2 ISO-8859-2 ISO_8859-2, latin2 ISO-8859-3 ISO-8859-3 ISO_8859-3, latin3 ISO-8859-4 ISO-8859-4 ISO_8859-4, latin4 ISO-8859-5 ISO-8859-5 ISO_8859-5, cyrillic ISO-8859-6 ISO-8859-6 ISO_8859-6, arabic ISO-8859-7 ISO-8859-7 ISO_8859-7, greek ISO-8859-8 ISO-8859-8 ISO_8859-8, hebrew ISO-8859-9 ISO-8859-9 ISO_8859-9, latin5 ISO-8859-10 ISO-8859-10 ISO_8859-10, latin6 ISO-8859-13 ISO-8859-13 ISO_8859-13 ISO-8859-14 ISO-8859-14 ISO_8859-14, latin8 ISO-8859-15 ISO-8859-15 ISO_8859-15 ISO-8859-16 ISO-8859-16 ISO_8859-16 EUC-CN CN-GB CN-GB, EUC_CN, eucCN, x-euc-cn, gb2312 CP936 CP936 CP-936, GBK HZ HZ-GB-2312 EUC-TW EUC-TW EUC_TW, eucTW, x-euc-tw BIG-5 BIG5 CN-BIG5, BIG-FIVE, BIGFIVE, CP950 EUC-KR EUC-KR EUC_KR, eucKR, x-euc-kr UHC UHC CP949 ISO-2022-KR ISO-2022-KR Windows-1251 Windows-1251 CP1251, CP-1251, WINDOWS-1251 CP866 CP866 CP866, CP-866, IBM-866 KOI8-R KOI8-R KOI8-R, KOI8R KOI8-U KOI8-U KOI8-U, KOI8U ArmSCII-8 ArmSCII-8 ArmSCII-8, ArmSCII8, ARMSCII-8, ARMSCII8 CP850 CP850 CP850, CP-850, IBM-850