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

PHP mb_detect_order() 함수로 문자 인코딩 감지 순서 설정하는 방법

PHP의 mb_detect_order() 함수는 멀티바이트 문자열에서 문자 인코딩을 자동으로 감지할 때 사용되는 인코딩 목록의 순서를 설정하거나 현재 설정된 순서를 가져오는 데 사용됩니다. 이 함수는 PHP 4.2.0 이상 버전부터 지원됩니다.

문법

array|bool mb_detect_order(str $encoding)

매개변수

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

  • $encoding − 감지 순서로 지정할 문자 인코딩 목록입니다. 배열 형태 또는 쉼표(,)로 구분된 문자열 형태로 전달할 수 있습니다. 이 매개변수가 생략되거나 null이면, 현재 설정되어 있는 문자 인코딩 감지 순서를 배열 형태로 반환합니다.

반환 값

인코딩 감지 순서를 설정할 때는 성공 시 true를 반환하고, 실패 시 false를 반환합니다. 매개변수 없이 호출하면 현재 감지 순서를 담은 배열을 반환합니다.

예제

<?php
   // 열거형 리스트로 감지 순서 설정
   mb_detect_order("eucjp-win,sjis-win,UTF-8");

   // 배열로 감지 순서 설정
   $array[] = "ASCII";
   $array[] = "JIS";
   $array[] = "EUC-JP";
   mb_detect_order($array);

   // 현재 설정된 감지 순서 출력
   echo implode(", ", mb_detect_order());
?>

출력 결과

ASCII, JIS, EUC-JP

참고 사항

인코딩 자동 감지는 완벽하지 않을 수 있으므로, 가능하다면 데이터의 실제 인코딩을 명시적으로 지정하는 것이 좋습니다. 또한 감지 순서에 나열된 인코딩 간에 바이트 패턴이 겹치는 경우, 앞쪽에 위치한 인코딩이 우선적으로 선택되므로 순서 지정에 주의해야 합니다.