转换PHP转义码

时间:2011-05-03 12:38:20

标签: php escaping simplexml

我正在使用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替换文本,但认为必须有更好的解决方案。任何帮助表示赞赏:)

1 个答案:

答案 0 :(得分:2)

将非ASCII字符“É”输出为2个字节这一事实意味着它已使用UTF进行翻译(而您显示它的页面很可能具有ISO-8859-X字符集编码):为防止这种情况,您可以更改您的指令:

$shipping_street1 = (string) $order->{'shipping-address'}->address1;

为:

$shipping_street1 = 
    utf8_decode( (string) $order->{'shipping-address'}->address1);

(手册:http://docs.php.net/manual/en/function.utf8-decode.php