> 백엔드 개발 > PHP 튜토리얼 > 문자열이 UTF8 인코딩인지 여부를 감지하는 PHP의 일반적인 방법

문자열이 UTF8 인코딩인지 여부를 감지하는 PHP의 일반적인 방법

WBOY
풀어 주다: 2016-05-16 20:30:56
원래의
876명이 탐색했습니다.

이 기사의 예는 문자열이 UTF8로 인코딩되었는지 여부를 감지하는 PHP의 일반적인 방법을 요약합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.

ord를 사용하여 문자의 기반을 얻은 후 판단을 입력하거나 mb_Detect_encoding 함수를 사용하여 처리하는 등 문자열 인코딩을 감지하는 방법은 여러 가지가 있습니다. 참고할 수 있는 일반적인 방법은 다음과 같습니다.

예시 1

코드 복사 코드는 다음과 같습니다.
/**
* 문자열이 UTF8로 인코딩되었는지 확인하세요
* @param string $str 감지된 문자열
* @return 부울
*/
함수 is_utf8($str){
$len = strlen($str);
for($i = 0; $i $c = ord($str[$i]);
if ($c > 128) {
if (($c > 247)) false를 반환;
elseif ($c > 239) $bytes = 4;
elseif ($c > 223) $bytes = 3;
elseif ($c > 191) $bytes = 2;
그렇지 않으면 false를 반환합니다.
if (($i $bytes) > $len) return false;
while ($bytes > 1) {
$i ;
$b = ord($str[$i]);
if ($b < 128 || $b > 191) return false;
$바이트--;
}
}
}
true를 반환합니다.
}

예시 2
코드 복사 코드는 다음과 같습니다.
function is_utf8($string) {
preg_match('%^(?:
반환 >                                               | [xC2-xDF][x80-xBF] [xC2-xDF][x80-xBF] # 너무 길지 않은 2바이트
~ | [xE1-xECxEExEF][x80-xBF]{2} # 직선 3바이트
~ ~ ~ ~ )*$%xs', $string); }

정확도는 기본적으로 mb_Detect_encoding()과 동일하며 맞기도 하고 틀리기도 합니다.
코딩 감지는 100% 정확할 수 없으며 이는 기본적으로 요구 사항을 충족할 수 있습니다.
예시 3



코드 복사


코드는 다음과 같습니다.예시 4



코드 복사


코드는 다음과 같습니다.

사실을 반환합니다. }
그렇지 않으면
{
거짓을 반환
}
} // 함수 is_utf8


이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿