问问题
3110 次
1 回答
1
如这个Stack Overflow 问题所示,欧元符号被转换为latin-1 补充欧元字符,而不是“正确的”UTF-8 代码点。一种解决方法是utf8_decode
,然后再次“重新编码”: $node = iconv('Windows-1252', 'UTF-8', utf8_decode($node));
所以一些有效的示例代码:
<?php
$xml = '<?xml version="1.0" encoding="Windows-1252" standalone="yes"?>
<node>The price is 12 € !</node>';
$doc = new DomDocument();
$doc->loadXML($xml);
$nodes = $doc->getElementsByTagName('node');
$node = iconv('Windows-1252', 'UTF-8', utf8_decode($nodes[0]->nodeValue));
echo $node;
于 2015-06-04T10:15:32.473 回答