为了账号安全,请及时绑定邮箱和手机立即绑定

mb_detect_encoding()函数检测不准确。

mb_detect_encoding()函数检测不准确。

PHP
有只小跳蛙 2018-08-02 12:57:42
我想通过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) "鍝堝搱"
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

https://img1.sycdn.imooc.com//5b6688c50001ca4b04640673.jpg

老哥,我不是要抬杠哈,比如我输入了一串英文,获取字符集结果为ASCII,然后通过iconv转成utf-8了,后面应该返回utf-8才对。为什么还是返回的ASCII呢?我是比较疑惑的这一点。

查看完整回答
反对 回复 2018-08-05
  • 2 回答
  • 0 关注
  • 4177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信