(-XML- )gbk文本

來源:互聯網
上載者:User
建立一個簡單XML結構,源檔案用gbk編寫結果報錯,改成utf8格式就正確,求原因?
//這是出錯的gbk編碼的檔案            header('content-type:application/xml;charset=gbk ');            $x = new DOMDocument('1.0', 'gbk');            $a = $x->createElement('a');            $x->appendChild( $a );                        $you = $x->createTextNode('你');            $a->appendChild( $you );            echo $x->saveXML();

================================下面是不出錯的U8編碼的源檔案=================================
//這是U8編碼的源檔案             header('content-type:application/xml;charset=utf-8 ');            $x = new DOMDocument('1.0', 'utf-8');            $a = $x->createElement('a');            $x->appendChild( $a );            $you = $x->createTextNode('你');            $a->appendChild( $you );            echo $x->saveXML();


回複討論(解決方案)

XML 的工作字元集是 utf-8

如果是工作字元集U8的原因,那麼參數二可以指定encoding還有什麼存在意義呢?另外報錯中的conv error是什麼錯誤?

XML 的工作字元集是 utf-8

conv error 轉換失敗

指定工作字元集,只在微軟的部分產品中有效(因為 XML 是微軟發明的)

php5.3 以後,可以讀取非 utf-8 字元集的 XML 文檔

php有沒有可以把xml對象按gbk格式輸出字串的方法?

conv error 轉換失敗

指定工作字元集,只在微軟的部分產品中有效(因為 XML 是微軟發明的)

php5.3 以後,可以讀取非 utf-8 字元集的 XML 文檔

是我說的不準確

header('content-type:application/xml;charset=gbk');$x = new DOMDocument('1.0', 'gbk');$a = $x->createElement('a');$x->appendChild( $a );             $you = $x->createTextNode(iconv('gbk', 'utf-8', '你'));$a->appendChild( $you );echo $x->saveXML();

你可以看到輸出的的確是 gbk 編碼的內容
也就是說,是可以輸出指定字元集的 XML 文檔的

但這並不改變工作字元集是 utf-8 的事實

conv error 是在將內部 utf-8 字元集向指定的輸出字元集轉換時產生的

$you = $x->createTextNode('你'); 中 gbk 的 你 被當做 utf-8 字元進行處理時,自然要出現錯誤了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.