해당 문자열의 캐릭터셋을 모르는 경우에는 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
)