GbK和UTF-8編碼的轉(zhuǎn)換是一個非常惡心的事情

2023-11-08    分類: 網(wǎng)站建設(shè)

原文鏈接:

GbK和UTF-8編碼之間的轉(zhuǎn)換是一件很惡心的事情。例如,在 pHp 中編碼轉(zhuǎn)換 php編碼轉(zhuǎn)換 php,它根本不支持 GbK 編碼??梢灾С志幋a轉(zhuǎn)換的庫函數(shù)有兩個,通常能想到的函數(shù)就是函數(shù),用起來也很爽:

iconv('GbK', 'UTF-8//IGNORE', '芒果小站'); // 將字符串由 GbK 編碼轉(zhuǎn)換為 UTF-8 編碼

但只能解決編碼提前已知的情況。如果字符串的編碼未知,則需要先檢測其編碼。在這種情況下,您可以使用擴展庫:

mb_detect_encoding('芒果小站');

但是有一個缺陷,經(jīng)常有不準(zhǔn)確的判斷。也許這可以解決:

// 使用 iconv 轉(zhuǎn)換并判斷是否等值,效率不高
function is_utf8 ($str) {
    if ($str === iconv('UTF-8', 'UTF-8//IGNORE', $str)) {
        return 'UTF-8';
    }
}
// 多種編碼的情況
function detect_encoding ($str) {
    foreach (array('GbK', 'UTF-8') as $v) {
        if ($str === iconv($v, $v . '//IGNORE', $str)) {
            return $v;
        }
    }
}

通過上述方法得到字符串編碼信息后,可以使用 或 進行編碼轉(zhuǎn)換。

本文題目:GbK和UTF-8編碼的轉(zhuǎn)換是一個非常惡心的事情
新聞來源:http://www.muchs.cn/news22/293172.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)定制開發(fā)、關(guān)鍵詞優(yōu)化、網(wǎng)站導(dǎo)航品牌網(wǎng)站設(shè)計、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化