Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中读取JSON或XML格式的重音字符_Php_Xml_Json_Diacritics_Non Ascii Characters - Fatal编程技术网

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

在PHP中读取JSON或XML格式的重音字符,php,xml,json,diacritics,non-ascii-characters,Php,Xml,Json,Diacritics,Non Ascii Characters,我有一个XML文件,其中包含像æåèèé这样的重音字符。如果我只是使用fread读取文件,我可以轻松地读取这些字符,但是如果我使用simplexml\u load\u string或DOMDocument,我就无法读取这些字符 我的JSON文件也是如此,我尝试使用JSON_解码 我尝试过使用mb_convert_编码,并将字符更改为Window-1252、UTF-8和许多其他编码,但没有任何效果。 我使用的是PHP5.3.1。我想有人来帮助阅读这样的字符演示代码。 下面是我的基本代码,我试过了,

我有一个XML文件,其中包含像æåèèé这样的重音字符。如果我只是使用fread读取文件,我可以轻松地读取这些字符,但是如果我使用simplexml\u load\u string或DOMDocument,我就无法读取这些字符

我的JSON文件也是如此,我尝试使用JSON_解码

我尝试过使用mb_convert_编码,并将字符更改为Window-1252、UTF-8和许多其他编码,但没有任何效果。 我使用的是PHP5.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'));
$myFile=“check.xml”;
$fh=fopen($myFile,'r');
$theData=fread($fh,filesize($myFile));
fclose($fh);
回显$theData.“
”; $xml=simplexml\u load\u字符串($theData); print_r(mb_convert_编码($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);

尝试使用使用上述方法写入的此文件

使用此方法写入的文件不正确。首先,也是最重要的是,它破坏了挪威口音的字符:ćřĺ. 法语:Ä™第二,编码不正确。最初的XML编码是windows-1252,所以我在上面的方法中更改了编码,但添加的字符仍然是destroyed@GunjanNigam:您是否绝对确定“check.xml”文件是用“windows-1252”编码编写的?否则它将无法工作(或者您必须将xml的
编码=“windows-1252”
-部分更改为文件的实际编码)。