一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php自動(dòng)獲取字符串編碼函數(shù)mb_detect_encoding

當(dāng)在php中使用mb_detect_encoding函數(shù)進(jìn)行編碼識(shí)別時(shí),很多人都碰到過識(shí)別編碼有誤的問題,例如對(duì)與GB2312和UTF- 8,或者UTF-8和GBK(這里主要是對(duì)于cp936的判斷),網(wǎng)上說是由于字符短是,mb_detect_encoding會(huì)出現(xiàn)誤判。
例如:
復(fù)制代碼 代碼如下:
$encode = mb_detect_encoding($keytitle, array("ASCII",'UTF-8′,"GB2312′,"GBK",'BIG5′));
if ($encode == “UTF-8″){
$keytitle = iconv("UTF-8″,"GBK",$keytitle);
}

這段代碼的作用是檢測(cè)字符串的編碼是否UTF-8,是的話就轉(zhuǎn)換為GBK。
可是當(dāng) $keytitle = “%D0%BE%C6%AC”;時(shí)。檢測(cè)結(jié)果卻是UTF-8.這個(gè)bug其實(shí)不算是bug,寫程序時(shí)也不應(yīng)當(dāng)過于依賴mb_detect_encoding,當(dāng)字符串較短時(shí),檢測(cè)結(jié)果產(chǎn)生偏差的可能性很大。
怎么解決呢,我的辦法是:
復(fù)制代碼 代碼如下:
$encode = mb_detect_encoding($keytitle, array('ASCII','GB2312′,'GBK','UTF-8');

三個(gè)參數(shù)分別是:被檢測(cè)的輸入變量、編碼方式的檢測(cè)順序(一旦為真,后面自動(dòng)忽略)、strict模式
對(duì)編碼檢測(cè)的順序進(jìn)行調(diào)整,將最大可能性放在前面,這樣減少被錯(cuò)誤轉(zhuǎn)換的機(jī)會(huì)。
一般要先排gb2312,當(dāng)有GBK和UTF-8時(shí),需要將常用的排列到前面。

php技術(shù)php自動(dòng)獲取字符串編碼函數(shù)mb_detect_encoding,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 国产视频网站在线 | 欧美特黄一免在线观看 | 久久精品视频8 | 69日本xxxxx色护士 | 99成人精品 | 国产亚洲视频在线播放大全 | 国内精品中文字幕 | 国产精品久久久尹人香蕉 | xxx久久| 亚洲精品xxx | 女神级极品嫩模露脸啪啪自拍 | 日韩经典欧美一区二区三区 | 91久久综合精品国产丝袜长腿 | 久久久久久久99视频 | 四虎影视在线永久免费看黄 | 久久久国产一区二区三区丝袜 | 色综合五月 | 激情图片激情小说 | 91精品全国免费观看 | 国产国语在线播放视频 | 亚洲第一区精品观看 | 久久久久久麻豆 | 日本高清中文字幕一区二区三区 | 色影院在线 | 爱啪精品导航在线 | 日韩午夜小视频 | 好吊妞haodiaokan| 天天干天天干天天干 | 婷婷在线免费观看 | 在线精品视频免费观看 | 国产精品综合在线 | 色婷婷综合缴情综六月 | 欧美日韩国产一区三区 | www.黄色.con| 亚洲一区二区三区深夜天堂 | 图片区小说区欧洲区 | 日本视频一区二区 | 久久久综合网 | 最新国产在线观看福利 | 色狠狠一区二区三区香蕉蜜桃 | 久久国内精品自在自线400部o |