Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP mb_preferred_mime_name() 함수 완벽 정리 – 인코딩별 MIME 문자셋 이름 구하기

PHP의 mb_preferred_mime_name() 함수는 지정된 문자 인코딩에 해당하는 MIME(Multipurpose Internet Mail Extensions) 문자셋(charset) 문자열을 반환하는 멀티바이트 문자열 함수입니다. 이메일 헤더나 HTTP 통신에서 올바른 charset 정보를 전달해야 할 때 유용하게 사용됩니다.

문법

string mb_preferred_mime_name(string $encoding)

매개변수

mb_preferred_mime_name() 함수는 하나의 매개변수만 받습니다.

  • $string_encoding − 확인하고자 하는 문자 인코딩 이름입니다. 예를 들어 "EUC-JP", "UTF-8", "SJIS" 등이 있습니다.

반환 값

mb_preferred_mime_name() 함수는 주어진 인코딩에 대응하는 MIME charset 문자열을 반환합니다. 만약 해당 인코딩에 선호되는 charset이 존재하지 않으면 false를 반환합니다.

예제 1 – 기본 사용법

다음 예제를 통해 이 함수가 실제로 어떻게 동작하는지 살펴보겠습니다.

<?php
// 인코딩 설정
$string_encoding = "EUC-JP";
mb_http_output($string_encoding);

// 출력 제어(output control) 함수 사용
ob_start("mb_output_handler");
header(mb_preferred_mime_name($string_encoding));
print_r($string_encoding);
?>

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

EUC-JP

예제 2 – 여러 인코딩 비교하기

다양한 인코딩에 대해 어떤 MIME charset 이름이 반환되는지 확인할 수도 있습니다.

<?php
$encodings = ["UTF-8", "SJIS", "ISO-2022-JP", "EUC-KR"];

foreach ($encodings as $enc) {
echo $enc . " → " . mb_preferred_mime_name($enc) . " ";
}
?>

출력 결과

UTF-8 → UTF-8
SJIS → Shift_JIS
ISO-2022-JP → ISO-2022-JP
EUC-KR → EUC-KR

이처럼 mb_preferred_mime_name() 함수를 활용하면 내부적으로 사용 중인 인코딩을 표준 MIME charset 명칭으로 변환하여, 메일 발송 시 Content-Type 헤더 작성이나 HTTP 응답 헤더 처리 등에서 정확한 문자셋 정보를 손쉽게 지정할 수 있습니다.