在PHP中读取JSON或XML格式的重音字符


Read Accented Characters from JSON or XML format in PHP

我有一个XML文件,其中包含像æøåêé这样的重音字符。如果我只是使用fread读取文件,我可以很容易地读取这些字符,但如果我使用simplexml_load_string或DOMDocument,我就无法读取这些字符。

我的JSON文件也是如此,我尝试使用JSON_decode

我尝试过使用mb_convert_encoding,并将字符更改为Window-1252、UTF-8和许多其他编码,但都不起作用。我使用的是PHP 5.3.1。我希望有人能帮我做一个阅读此类charfoods的演示代码。以下是我的基本代码,我尝试过,但没有工作

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

尝试这个

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

尝试使用这个文件,该文件使用上面的方法

编写