使用UTF-8中的XML重音读取字符串

时间:2017-05-18 20:35:45

标签: php xml utf-8

我读了这样的XML:

$arquivo = simplexml_load_string($str);

此XML是UTF-8:

<?xml version="1.0" encoding="UTF-8"?>

我想读这部分:

<ii:RazaoSocial>UNIDOS SERVIçOS MéDICOS LTDA-ME</ii:RazaoSocial>

当我回应这部分时:

echo strtolower($Nfse->InfNfse->RazaoSocial->__toString());

Output:

unidos serviã§os mã©dicos ltda

当我使用utf8_decode时,像这样:

echo strtolower(utf8_decode($Nfse->InfNfse->RazaoSocial->__toString()));

Output:

unidos servi?os m?dicos ltda

我如何识别口音?

2 个答案:

答案 0 :(得分:0)

使用多字节字符串解析可能会更幸运。

尝试:echo mb_strtolower($Nfse->InfNfse->RazaoSocial->__toString());

答案 1 :(得分:0)

如果文件真的是UTF-8,那么你就不需要做任何特殊的事情来解码它。

您的脚本可能出错的地方是输出期间。确保您的输出具有正确的<meta>标记或Content-Type标题,告诉浏览器将输出解释为UTF-8。