mb_detect_encoding()函数检测不准确。

我想通过mb_detect_encoding()函数动态获取某个字符的编码集,再通过iconv进行编码转换,但是mb_detect_encoding()判断的编码类型不准,导致iconv()失效或乱码。

//片段if (is_string($k)) {    $encoding = getEncoding($k);    $k = iconv($encoding, "utf-8", $k);
}//获取编码集function getEncoding($data)
{
   return mb_detect_encoding($data, array("ASCII","GB2312","GBK",'BIG5','UTF-8'));
}//测试$k = "哈哈";$encoding = getEncoding($k);
var_dump($encoding,$k);$k = iconv($encoding, "utf-8", $k);
var_dump(getEncoding($k),$k);exit;//输出:string(5) "CP936" string(6) "哈哈" string(5) "CP936" string(9) "鍝堝搱"


绝地无双
浏览 608回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP