使用mb_detect_encoding() 函数来判断字符串是什么编码

使用 mb_detect_encoding() 函数来判断字符串是什么编码,但为什么
<?php
echo mb_detect_encoding('abc');
?>
后显示
Fatal error: Call to undefined function mb_detect_encoding() in F:\wwwroot\code\cc\test.php on line 2

extension=php_mbstring.dll 前的分号也去了

解决方法:把 mbstring.dll 文件复制到 WINDOWS 目录就能用了。

另注:
gbk编码对应的code page是CP936,所以探测编码的时候要指定为CP936,而不是GBK。
$str = "中国";
$encode = mb_detect_encoding($text, "CP936");
echo $encode;

补充:
在手册里的通过正则检查编码,不用加载mbstring库

function is_utf8($string) {

   

   return preg_match('%^(?:

         [\x09\x0A\x0D\x20-\x7E]            # ASCII

       | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte

       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs

       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte

       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates

       |  \xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3

       | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15

       |  \xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16

   )*$%xs', $string);

   

}

上一篇: STRICT_TRANS_TABLES(存储引擎启用严格模式,非法数据值被拒绝)。   下一篇: 采用curl做GET,POST请求

提交疑问

请先登录 QQ微博登录

回顶部