PHP에서 mb_encoding_aliases() 함수는 알려진(등록된) 인코딩 타입에 대한 별칭(alias) 목록을 가져올 때 사용됩니다. 이 함수는 PHP 5 이상 버전부터 지원되며, 멀티바이트 문자열 확장(mbstring)이 활성화되어 있어야 정상적으로 동작합니다.
문법(Syntax)
array mb_encoding_aliases(str $encoding)
매개변수(Parameters)
이 함수는 단 하나의 매개변수만 받습니다.
- $encoding : 별칭을 확인하려는 인코딩 타입입니다.
반환값(Return Values)
성공하면 해당 인코딩의 별칭들이 담긴 숫자 인덱스 배열을 반환하고, 실패하면 False를 반환합니다.
오류 및 예외(Errors/Exceptions)
존재하지 않거나 알려지지 않은 인코딩을 전달하면 E_WARNING 수준의 경고 오류가 발생합니다. 따라서 호출 전에 mb_list_encodings()로 유효한 인코딩인지 먼저 검사하는 것이 안전합니다.
예제 1 – ASCII 인코딩의 별칭 조회하기
<?php
$encoding = 'ASCII';
$known_encodings = mb_list_encodings();
if (in_array($encoding, $known_encodings))
{
$aliases = mb_encoding_aliases($encoding);
print_r($aliases);
}
else
{
echo "Unknown ($encoding) encoding.\n";
}
?>출력 결과
Array ( [0] => ANSI_X3.4-1968 [1] => iso-ir-6 [2] => ANSI_X3.4-1986 [3] => ISO_646.irv:1991 [4] => US-ASCII [5] => ISO646-US [6] => us [7] => IBM367 [8] => IBM-367 [9] => cp367 [10] => csASCII )
위 예제에서는 먼저 mb_list_encodings()로 지원되는 인코딩 목록을 가져온 뒤, 'ASCII'가 포함되어 있는지 확인하고 별칭 배열을 출력합니다. 'ASCII' 인코딩에는 총 11개의 별칭이 등록되어 있는 것을 확인할 수 있습니다.
예제 2 – var_dump()로 반환값 자세히 살펴보기
<?php
$array = mb_encoding_aliases("ASCII");
var_dump($array);
?>출력 결과
array(11) {
[0]=>
string(14) "ANSI_X3.4-1968"
[1]=>
string(8) "iso-ir-6"
[2]=>
string(14) "ANSI_X3.4-1986"
[3]=>
string(16) "ISO_646.irv:1991"
[4]=>
string(8) "US-ASCII"
[5]=>
string(9) "ISO646-US"
[6]=>
string(2) "us"
[7]=>
string(6) "IBM367"
[8]=>
string(7) "IBM-367"
[9]=>
string(5) "cp367"
[10]=>
string(7) "csASCII"
}var_dump()를 사용하면 각 별칭이 문자열(string) 타입으로 저장된 것과 그 길이까지 상세하게 확인할 수 있습니다. 이처럼 mb_encoding_aliases()는 동일한 문자 인코딩을 여러 이름으로 참조할 수 있게 해주는 별칭 정보를 손쉽게 조회할 수 있는 유용한 함수입니다.