繁体   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