PHP解决中文乱码

  • PHP解决中文乱码
            define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
            define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
            define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
            define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
            define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));
            $first2 = substr($content, 0, 2);
            $first3 = substr($content, 0, 3);
            $first4 = substr($content, 0, 3);
            $encodType = "";
            if ($first3 == UTF8_BOM)
                $encodType = 'UTF-8 BOM';
            else if ($first4 == UTF32_BIG_ENDIAN_BOM)
                $encodType = 'UTF-32BE';
            else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)
                $encodType = 'UTF-32LE';
            else if ($first2 == UTF16_BIG_ENDIAN_BOM)
                $encodType = 'UTF-16BE';
            else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)
                $encodType = 'UTF-16LE';

            //下面的判断主要还是判断ANSI编码的·
            if ($encodType == '') {//即默认创建的txt文本-ANSI编码的
                $content = iconv("GBK", "UTF-8", $content);
            } else if ($encodType == 'UTF-8 BOM') {//本来就是UTF-8不用转换
                $content = $content;
            } else {//其他的格式都转化为UTF-8就可以了
                $content = iconv($encodType, "UTF-8", $content);
            }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 杨慧霞 洛阳 焦点解决讲师二期班成员 坚持分享779天《焦点解决》 昨晚和先生看了一部生活剧电影,剧中男女...
    yhx慧心慧语阅读 231评论 0 0
  • 不懂婚姻时,我以为嫁给一个人,会得到双倍的幸福。 他的快乐加上我的快乐,会叠加出更多的快乐。 一个人时,总会期待两...
    沐晨雨rara阅读 659评论 0 0
  • 来到你面前 你的眼角绽放着仅有一瓣的桃花 还留有淡淡的忧愁 不知是否可以为你拭去 但你终是无主的那一簇
    倚水之滨阅读 210评论 0 2