在PHP中读取JSON或XML格式的重音字符
我有一个XML文件,其中包含像æåèèé这样的重音字符。如果我只是使用fread读取文件,我可以轻松地读取这些字符,但是如果我使用simplexml\u load\u string或DOMDocument,我就无法读取这些字符 我的JSON文件也是如此,我尝试使用JSON_解码 我尝试过使用mb_convert_编码,并将字符更改为Window-1252、UTF-8和许多其他编码,但没有任何效果。 我使用的是PHP5.3.1。我想有人来帮助阅读这样的字符演示代码。 下面是我的基本代码,我试过了,但没有成功 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 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”
-部分更改为文件的实际编码)。