2

æøåêèé のようなアクセント付きの文字を含む XML ファイルがあります。fread を使用して単純にファイルを読み取ると、これらの文字を簡単に読み取ることができますが、simplexml_load_string または DOMDocument を使用すると、これらの文字を読み取ることができません。

json_decode を使用してみた JSON ファイルの場合も同じです

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'));
4

1 に答える 1

1

これを試して

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

上記の方法で書かれたこのファイルで作業してみてください

于 2012-02-15T06:55:42.687 に答える