php頁面字符集解析的先后順序

      在編寫php的時候,總會遇到編碼的問題,對于php頁面的編碼(不考慮參數(shù)的編碼)解析順序是怎么樣的?

目前創(chuàng)新互聯(lián)建站已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、津南網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

      首選確定影響頁面編碼的因素有一下幾點:

       1、文件的編碼方式
        2、Apache2的默認(rèn)字符集設(shè)置
        3、PHP.ini中的默認(rèn)字符集的設(shè)置
        4、PHP腳本中手動輸出header(‘Content-type:text/html;charset=xxx’);
        5、html頁面中加入

       參考互聯(lián)網(wǎng)上資料,給出的答案如下:

        php.ini默認(rèn)字符集設(shè)置 > header函數(shù)字符集設(shè)置 > apache2默認(rèn)字符集設(shè)置 > meta標(biāo)簽字符集設(shè)置

       對于變量需要轉(zhuǎn)換編碼,PHP提供了iconv和mb_convert_encoding,其實兩個都是字符串轉(zhuǎn)碼。

       說明:string iconv ( string in_charset, string out_charset, string str ),將字符串 str 從 in_charset 轉(zhuǎn)換編碼到 out_charset。
       說明:string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ),將 string 類型 str 的字符編碼從可選的 from_encoding 轉(zhuǎn)換到 to_encoding。
       兩個的主要區(qū)別,參考了一下其他網(wǎng)站,主要解釋如下:
      1、mb_convert_encoding() 該函數(shù)會根據(jù)內(nèi)容自動識別編碼,但是執(zhí)行效率比iconv差;
       2、然后有一種說法就是iconv()在一些字符轉(zhuǎn)換下會不正常,網(wǎng)上有種說法就是:發(fā)現(xiàn)iconv在轉(zhuǎn)換字符”—”到gb2312時會出錯,如果沒有ignore參數(shù),所有該字符后面的字符串都無法被保存。不管怎么樣,這個”—”都無法轉(zhuǎn)換成功,無法輸出。 另外mb_convert_encoding沒有這個bug;
       3、mb_convert_encoding()是PHP擴(kuò)展函數(shù),要開啟擴(kuò)展庫才能用;而iconv是PHP內(nèi)置函數(shù),不需另外開啟擴(kuò)展庫就可以使用;
       4、一般情況下用 iconv,只有當(dāng)遇到無法確定原編碼是何種編碼,或者iconv轉(zhuǎn)化后無法正常顯示時才用mb_convert_encoding 函數(shù)。

當(dāng)前名稱:php頁面字符集解析的先后順序
網(wǎng)站鏈接:http://muchs.cn/article8/picjip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、網(wǎng)站營銷、做網(wǎng)站、企業(yè)建站、自適應(yīng)網(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)

搜索引擎優(yōu)化