关于(NOTICE)iconv(): Detected an illegal character in input string无法转码解决方案

     今天遇到了一个坑,就是用iconv转文件名编码时出现(NOTICE)iconv(): Detected an illegal character in input string错误,我用iconv("UTF-8", "gb2312", $value)转换文字的格式编码,结果出现如下图:

     当时找问题真的是痛不欲生,压根就无法成功转换,感觉这个函数有bug,困惑了一上午。 然后中午就想,会不会有其它函可以数替换iconv,就在网上使劲找各种遇到的类似问题,最后看到一篇文章的思路有了启发,解决了这个问题。

PHP里自带一个内库,在php.ini里有这一句,#extension=php_mbstring.dll,把前边#号去掉,有mb_convert_encoding()函数,我用到的是3个参数,第一个是文件名,第二个是需要转换的编码,第三个是它的默认编码、这里有个auto说是不知道什么编码就自动检测,感觉不太准,最后就是你自己知道编码格式,我感觉这个函数比iconv()bug少,希望能帮到大家。

你可能感兴趣的:(php)