我正在使用simplexml来读取utf-8 XML源的内容。
源包含转义字符,例如法语E ...
15 THE AVENUE EXAMPLE CLÉMENCEAU
我将它保存到这样的变量中:
$shipping_street1 = (string) $order->{'shipping-address'}->address1;
这种方法很好,但是法国E被破坏了:
15 THE AVENUE EXAMPLE CLÉMENCEAU
我需要将值写入普通的旧文本文件。我只是用简单的E替换文本,但认为必须有更好的解决方案。任何帮助表示赞赏:)
答案 0 :(得分:2)
将非ASCII字符“É”输出为2个字节这一事实意味着它已使用UTF进行翻译(而您显示它的页面很可能具有ISO-8859-X字符集编码):为防止这种情况,您可以更改您的指令:
$shipping_street1 = (string) $order->{'shipping-address'}->address1;
为:
$shipping_street1 =
utf8_decode( (string) $order->{'shipping-address'}->address1);