php<?php
/*
仅适用于php文档为ANSI编码
*/
/* 关闭页面错误提示,iconv("","UTF-8","办证证")这段代码一旦转入不是UTF-8编码就会错误 */
error_reporting(0);
$str = "办证"; //接收来的字符串
//尝试转换编码,
$str = iconv('', 'UTF-8', $str);
//匹配是否为UTF-8编码
function is_utf8($utf8str)
{
if (preg_match('/^([' . chr(228) . '-' . chr(233) . ']{1}[' . chr(128) . '-' . chr(191) . ']{1}[' . chr(128) . '-' . chr(191) . ']{1}){1}/', $utf8str) == true || preg_match('/([' . chr(228) . '-' . chr(233) . ']{1}[' . chr(128) . '-' . chr(191) . ']{1}[' . chr(128) . '-' . chr(191) . ']{1}){1}$/', $utf8str) == true || preg_match('/([' . chr(228) . '-' . chr(233) . ']{1}[' . chr(128) . '-' . chr(191) . ']{1}[' . chr(128) . '-' . chr(191) . ']{1}){2,}/', $utf8str) == true) {
return true;
} else {
return false;
}
}
if (is_utf8($str) == 1) {
//由于文件是ANSI编码,此处需用UTF8转换,页面才能正常输出
echo iconv('GB2312', 'UTF-8', '匹配正确');
} else {
//同上
echo iconv('GB2312', 'UTF-8', '匹配错误');
}
?>