21,886
社区成员
发帖
与我相关
我的任务
分享
<?php
header("Content-type: text/html; charset=gbk");
$username="sdf";
echo mb_detect_encoding($username);
echo "</br>";
$m="中";
echo mb_detect_encoding($m);
echo "</br>";
$sql="select * from address group by unit";
echo mb_detect_encoding($sql);
echo "</br>";
?>
Array
(
[0] => ASCII
[1] => UTF-8
[2] => CP936
)
再
$m="中";
echo mb_detect_encoding($m);
就输出 CP936 了
注:CP936(微软标准)和 GBK(中国国家标准)是查表对应的
由此可见 mb_detect_encoding 是不可靠的(日本人干不了什么好事)
作为补充,mb 扩展增加了 mb_check_encoding 函数
var_dump(mb_check_encoding('中', 'utf-8')); //bool(false)
var_dump(mb_check_encoding('中', 'gbk')); //bool(true)