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

PHP mb_encode_mimeheader() 함수로 MIME 헤더용 문자열 인코딩하기

PHP에서 mb_encode_mimeheader() 함수는 MIME(Multipurpose Internet Mail Extensions) 헤더에 사용할 문자열을 인코딩할 때 활용됩니다. 이 함수는 주어진 문자열을 MIME 헤더 인코딩 방식에 따라 변환하여, 이메일 헤더에 안전하게 포함될 수 있도록 처리해 줍니다.

문법

string mb_encode_mimeheader(str $string, str $charset, str $transfer_encoding, str $newLine, int $indent)

매개변수

mb_encode_mimeheader() 함수는 다음과 같이 다섯 개의 매개변수를 받습니다.

  • $string − 인코딩할 문자열입니다. 이 문자열의 인코딩은 반드시 mb_internal_encoding()으로 설정된 내부 인코딩과 동일해야 합니다.

  • $charset − 문자열이 표현되는 문자셋(charset)의 이름을 지정합니다.

  • $transfer_encoding − MIME 인코딩 방식을 지정합니다. base64(B) 또는 Quoted-printable(Q) 중 하나를 사용할 수 있으며, 값을 지정하지 않으면 기본적으로 base64(B)가 적용됩니다.

  • $newLine − mb_encode_mimeheader()가 행 접기(line-folding)를 수행할 때 사용할 줄 끝(EOL) 마커를 지정합니다.

  • $indent − 첫 번째 줄의 들여쓰기를 위해 사용됩니다.

반환값

ASCII로 표현된 변환된 문자열을 반환합니다.

예제 1

<?php
   $name = "Online tutorials";
   $mbox = "nru";
   $doma = "gtin.thu";
   $addr = mb_encode_mimeheader($name,"UTF-7","Q")." <".$mbox."@".$doma.">";
   echo $addr;
?>

출력 결과

Online tutorials

예제 2

<?php
   $string = "\xe2\x86\x92";
   mb_internal_encoding( "UTF-8");
   echo mb_encode_mimeheader($string, 'UTF-8');
?>

출력 결과

=?UTF-8?B?4oaS?=