0

XML フィードを読み込もうとしていますが、エンコーディングが適切かどうかはわかりませんが、UTF-8 に設定されており、SimpleXML を介して PHP で解析しようとすると、「BöðVar」でエラーが発生します (特別な「 o" 文字)。

libxml_use_internal_errors(TRUE);
$XMLOutputXMLObj = simplexml_load_string($xml_string);
if($XMLOutputXMLObj !== FALSE)
{
//do stuff
}

これは私がエラーのために得るすべてです:

エンティティ「ouml」が定義されていません

エンティティ「eth」が定義されていません

「mb_convert_encoding」をいろいろ使ってみましたがだめでした。

どのキャラクターでもこの問題を解決するにはどうすればよいですか? IE手動でö を &214;に置き換えないでください。(もちろん#付き)?

さらに良いことに...タグが損なわれていない限り、SimpleXMLが解析しているものを気にしないようにする方法はありますか?

ありがとう

4

1 に答える 1

2

ノードのテキスト/値の前後に<![CDATA[およびタグを使用して、ノード内の XML データをエスケープしようとしましたか? ]]>例えば

<?xml version="1.0" encoding="UTF-8"?>
<fmsdata>
  <result><![CDATA[Success !@#$%^&*()]]></result>
</fmsdata>
于 2012-07-13T12:58:44.903 に答える