天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP自動(dòng)識(shí)別字符集并完成轉(zhuǎn)碼詳解

因?yàn)樽约菏褂米址幋a一般的是utf-8編碼,但如果對(duì)方的博客使用gb2312編碼的話,POST過(guò)來(lái)就會(huì)出現(xiàn)亂碼(除非對(duì)方POST前先轉(zhuǎn)換編碼)。在不能保證對(duì)方是否一定使用utf-8編碼的情況下,自己做一個(gè)編碼的檢查和轉(zhuǎn)換是很有必要的。

寫了個(gè)函數(shù)來(lái)完成這個(gè)工作,原理很簡(jiǎn)單,因?yàn)間b2312/gbk是中文兩字節(jié),這兩個(gè)字節(jié)是有取值范圍的,而utf-8中漢字是三字節(jié),同樣每個(gè)字節(jié)也有取值范圍。而英文不管在何種編碼情況下,都是小于128,只占用一個(gè)字節(jié)(全角除外)。

如果是文件形式的編碼檢查,還可以直接check utf-8的BOM信息,關(guān)于這方面的東西,大家可以看看TP工具箱的編碼轉(zhuǎn)換功能,我在那個(gè)AppCodingSwitch類中寫了比較詳細(xì)的注釋。

話不多說(shuō),直接上函數(shù),這個(gè)函數(shù)是用來(lái)對(duì)字符串進(jìn)行檢查和轉(zhuǎn)碼的。文件的檢查與轉(zhuǎn)碼
復(fù)制代碼 代碼如下:
function safeEncoding($string, $outEncoding = 'UTF-8') {
    $encoding = "UTF-8";
    for ($i = 0; $i < strlen($string); $i++) {
        if (ord($string{$i}) < 128)
            continue;

        if ((ord($string{$i}) & 224) == 224) {
            //第一個(gè)字節(jié)判斷通過(guò)
            $char = $string{++$i};
            if ((ord($char) & 128) == 128) {
                //第二個(gè)字節(jié)判斷通過(guò)
                $char = $string{++$i};
                if ((ord($char) & 128) == 128) {
                    $encoding = "UTF-8";
                    break;
                }
            }
        }
        if ((ord($string{$i}) & 192) == 192) {
            //第一個(gè)字節(jié)判斷通過(guò)
            $char = $string{++$i};
            if ((ord($char) & 128) == 128) {
                //第二個(gè)字節(jié)判斷通過(guò)
                $encoding = "GB2312";
                break;
            }
        }
    }

    if (strtoupper($encoding) == strtoupper($outEncoding))
        return $string;
    else
        returniconv($encoding, $outEncoding, $string);
}

php技術(shù)PHP自動(dòng)識(shí)別字符集并完成轉(zhuǎn)碼詳解,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 好大好爽好深舒服死了 | 2021精品高清卡1卡2卡3麻豆 | 24小时日本在线电影 | 午夜在线视频国产极品片 | 恋夜秀场支持安卓版全部视频国产 | 毛片无码免费无码播放 | 最新无码专区在线视频 | 先锋影音av最新资源 | 国产99久久亚洲综合精品西瓜tv | 男男高h浪荡受h | 精品人妻伦九区久久AAA片69 | 野花高清影视免费观看 | 俄罗斯兽交XXXXX在线 | 国产人妻人伦精品无码.麻豆 | 久久久久综合网久久 | 乳巨揉みま痴汉电车中文字幕动漫 | 狠狠婷婷综合久久久久久 | 免费国产综合视频在线看 | 国产亚洲精品看片在线观看 | 男人边吃奶边挵进去呻吟漫画 | 亚洲乱码在线卡一卡二卡新区 | 亚洲欧美日韩精品久久奇米色影视 | 总攻催眠受的高h巨肉np | 福利一区国产 | 中文字幕午夜乱理片 | 午夜DV内射一区二区 | 亚洲AV噜噜狠狠网址蜜桃尤物 | 天天躁夜夜踩很很踩2022 | 精品人妻伦一二三区久久AAA片 | 91精品国产色综合久久 | 国产精品亚洲欧美一区麻豆 | 国产AV综合手机在线观看 | 天堂无码人妻精品AV一区 | 本庄优花aⅴ全部在线影片 被滋润的艳妇疯狂呻吟白洁老七 | 秋霞在线观看视频一区二区三区 | 羞羞影院午夜男女爽爽免费 | 怪物高h粗暴无尽 | 亚洲欲色欲色XXXXX在线AV | 久久久久毛片免费观看 | 精品一品国产午夜福利视频 | 丰满少妇69激情啪啪无码 |