Чтение ударных символов из формата JSON или XML в PHP - PullRequest
2 голосов
/ 15 февраля 2012

У меня есть XML-файл, в котором есть символы с акцентом, такие как символы.Если я просто читаю файл, используя fread, я могу легко прочитать эти символы, но если я использую simplexml_load_string или DOMDocument, я не смогу прочитать эти символы.

То же самое имеет место с моим файлом JSON, где я пытался использовать json_decode

Я пытался использовать mb_convert_encoding и изменить меняющиеся символы на Window-1252, UTF-8 и многие другие, но ничего не работает.Я использую PHP 5.3.1.Я хотел бы, чтобы кто-нибудь помог с демонстрационным кодом чтения таких символов.Ниже приведен мой основной код, который я пробовал, но он не работал

XML-файл

    <?xml version="1.0" encoding="windows-1252"?>
    <note>
    <message>Norwegian: æøå. French: êèé</message>
    </note>

PHP-код

   $myFile = "check.xml";
   $fh = fopen($myFile, 'r');
   $theData = fread($fh, filesize($myFile));
   fclose($fh);
   echo $theData."<br>";
   $xml = simplexml_load_string($theData);
   print_r(mb_convert_encoding($xml->message,'Windows-1252'));

1 Ответ

1 голос
/ 15 февраля 2012

попробуйте

$fc = iconv('windows-1250', 'utf-8', file_get_contents(check.xml));
$handle=fopen("abc.xml", "rw");
fwrite($handle, $fc);
fclose($handle);

попробуйте поработать с этим файлом, написанным вышеописанным способом

...