2015-04-21
해당 문자열의 캐릭터셋을 모르는 경우에는 mb_detect_encoding() 함수를사용 하면 된다.

PHP 메뉴얼 : http://php.net/manual/kr/function.mb-detect-encoding.php

반환값으로 해당 문자열의 캐릭터셋을 알려주기 때문에, 주로
$str = iconv( mb_detect_encoding( $str ), 'utf-8', $str);
식으로 많이 쓰인다.

해당 함수에서 사용되는 캐릭터셋의 종류는 mb_list_encodings() 함수를 쓰면 배열로 리턴되어 알 수 있다.
Array
(
    [0] => pass
    [1] => auto
    [2] => wchar
    [3] => byte2be
    [4] => byte2le
    [5] => byte4be
    [6] => byte4le
    [7] => BASE64
    [8] => UUENCODE
    [9] => HTML-ENTITIES
    [10] => Quoted-Printable
    [11] => 7bit
    [12] => 8bit
    [13] => UCS-4
    [14] => UCS-4BE
    [15] => UCS-4LE
    [16] => UCS-2
    [17] => UCS-2BE
    [18] => UCS-2LE
    [19] => UTF-32
    [20] => UTF-32BE
    [21] => UTF-32LE
    [22] => UTF-16
    [23] => UTF-16BE
    [24] => UTF-16LE
    [25] => UTF-8
    [26] => UTF-7
    [27] => UTF7-IMAP
    [28] => ASCII
    [29] => EUC-JP
    [30] => SJIS
    [31] => eucJP-win
    [32] => SJIS-win
    [33] => CP932
    [34] => CP51932
    [35] => JIS
    [36] => ISO-2022-JP
    [37] => ISO-2022-JP-MS
    [38] => Windows-1252
    [39] => Windows-1254
    [40] => ISO-8859-1
    [41] => ISO-8859-2
    [42] => ISO-8859-3
    [43] => ISO-8859-4
    [44] => ISO-8859-5
    [45] => ISO-8859-6
    [46] => ISO-8859-7
    [47] => ISO-8859-8
    [48] => ISO-8859-9
    [49] => ISO-8859-10
    [50] => ISO-8859-13
    [51] => ISO-8859-14
    [52] => ISO-8859-15
    [53] => ISO-8859-16
    [54] => EUC-CN
    [55] => CP936
    [56] => HZ
    [57] => EUC-TW
    [58] => BIG-5
    [59] => EUC-KR
    [60] => UHC
    [61] => ISO-2022-KR
    [62] => Windows-1251
    [63] => CP866
    [64] => KOI8-R
    [65] => KOI8-U
    [66] => ArmSCII-8
    [67] => CP850
    [68] => JIS-ms
    [69] => CP50220
    [70] => CP50220raw
    [71] => CP50221
    [72] => CP50222
)