簡體   English   中英

從PHP生成的XML編碼

[英]XML Encoding generated from PHP

我正在為類做一個分配,在該類中,我必須使用在Tomcat上運行的Java Servlet,並讓它向php文件發送消息,以刮取IMDB的電影信息並將其作為XML返回給Servlet。 這似乎不想接受任何編碼我給它,因為我不斷地得到XML標記,如下面的人。

      <result cover="url" title="Pok&#xE9;mon" year="1998 TV Series" director="N/A" rating="7.8" details="http://www.imdb.com/title/tt0176385/"/>

口袋妖怪的頭銜應在e(«é»)上加重音。 我有以下php代碼來生成xml。 (僅重要部分)

    <?php header("Content-Type: text/xml; charset=utf-8");
    $xml = new DOMDocument();
    $rsp = $xml->appendChild($xml->createElement("rsp"));
    $xml->encoding = 'utf-8';

    $titleNames[$i] = utf8_encode($title_tmp[1]);

    $results = $rsp->appendChild($xml->createElement("results"));
    $results->setAttribute("total", $tableRows);

    $item->setAttribute("title", $titleNames[$i]);

    echo $xml->saveXML();
    ?>

找出如何正確顯示特殊字符的任何幫助將不勝感激!

無法說出代碼片段中的問題(甚至無法運行),但是$xml->encoding = 'utf-8'應該可以工作。 請比較:

$xml = new DOMDocument();
$rsp = $xml->appendChild($xml->createElement("rsp"));
$rsp->setAttribute("title", 'Pokémon');
echo $xml->saveXML();
/*
<?xml version="1.0"?>
<rsp title="Pok&#xE9;mon"/>
*/

...與:

$xml = new DOMDocument();
$xml->encoding = 'utf-8';
$rsp = $xml->appendChild($xml->createElement("rsp"));
$rsp->setAttribute("title", 'Pokémon');
echo $xml->saveXML();
/*
<?xml version="1.0" encoding="utf-8"?>
<rsp title="Pokémon"/>
*/

(這些片段應另存為UTF-8)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM