1

アクセントを含む xml ファイルを解析しようとしていますが、「文字列を XML として解析できませんでした」というエラーが表示されます。残念ながら、xml ファイルは外部ソースからダウンロードされているため、作業できません。簡単に修正する方法はないかと考えていました。

これが私のコードです:

<?php
$requestAddress = "test.xml";

// Gets data
$xml_str = file_get_contents($requestAddress,0);

// Parses XML
$xml = new SimplexmlElement($xml_str);
?>

周りを見回しましたが、問題の解決策が見当たらないか、少なくとも理解できません! :-)

4

2 に答える 2

3

私の推測ではfile_get_contents()、ファイルのエンコーディングは考慮されていません。アクセントは無効な文字と見なされ、XML構造を壊す可能性があります。

mb_detect_encoding()エンコーディングを検出するために使用します。

utf8_encode()文字をUTF-8に変換するために使用します。

于 2011-12-06T22:44:37.487 に答える
0

エンコードがドキュメントのヘッダー (通常は utf-8) と一致していることを確認してください。

エンコーディング (文字セット) が一致しない場合は、ファイルを一般的なテキスト ファイルとして読み込んでから、iconv()関数を使用して文字エンコーディングを正しいものに変換できます。

于 2011-12-06T22:46:44.780 に答える