除了我之前关于从复杂 xml 解析图像和文本的问题之外,现在唯一的问题是我没有得到正确的编码。文本是希腊语,xml
文件有utf-8
编码。这是解析xml的代码:
$xml = simplexml_load_file('myfile.xml');
$descriptions = $xml->xpath('//item/description');
foreach ( $descriptions as $description_node ) {
$description_dom = new DOMDocument();
$description_dom->loadHTML( (string)$description_node );
$description_sxml = simplexml_import_dom( $description_dom );
$imgs = $description_sxml->xpath('//img');
$text = $description_sxml->xpath('//div');
foreach($imgs as $image){
echo (string)$image['src'];
}
foreach($text as $t){
echo (string)$t;
}
}
如果我echo $description_node
,文本看起来不错,但在我$description_dom
使用simplexml_import_dom
它之后看起来像这样:
Ïε ιÏλαμικÎÏ ÎºÎ¿Î¹Î½ÏÏηÏεÏ.
使用mb_convert_encoding
将其变为:
ýÃÂñù" ÃÂ
。我究竟做错了什么?