1
我有一個XML文件,其中包含重音字符,如æøåêèé。如果我使用fread簡單地讀取文件,我可以輕鬆讀取這些字符,但如果使用simplexml_load_string或DOMDocument,我無法讀取這些字符。從PHP中讀取JSON或XML格式的重音字符
同樣是我的JSON文件,其中我使用json_decode
我一直在使用mb_convert_encoding和改變改變字符窗口-1252,UTF-8和許多其他的編碼,但沒有工作試圖審理案件。 我正在使用PHP 5.3.1。我希望有人來幫助閱讀這樣的charcaters演示代碼。 以下是我的,我試過基本代碼,但它沒有工作
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'));
使用此文件寫入的文件不正確。首先,最重要的是它會銷燬重音字符。挪威語:ćřĺ。法文:其次,編碼不正確。原始的XML編碼是windows-1252,所以我改變了上面的方法中的編碼,但仍然有人加入的字符被破壞 – 2012-02-15 07:11:02
@GunjanNigam:你確定「check.xml」文件是用「windows-1252」編碼寫的嗎?否則它將無法工作(或者你必須將xml的'encoding =「windows-1252」'部分改爲文件的實際編碼)。 – vstm 2012-02-15 07:21:39