0

XML APIからの文字エンコードに問題があり、問題を解決できないようです。誰かがこれについてどうやって行くのか知っているだろうかと思っていました。私は次のコードを試しましたが、どちらも奇妙な文字エンコードの問題を引き起こします。

コード#1

$xml_url = "http://myurl.com/123.xml";
$xml = simplexml_load_file($xml_url);

コード#2

$xml_url = "http://myurl.com/123.xml";
$contents = file_get_contents($xml_url);
$xml = new SimpleXMLElement($contents);

アポストロフィなどのキャラクターの出方はこんな感じ

strengthening resumés

これには何百ものエラーがあります。私のコードの上部は次のようになります

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

HTML 5として配置するだけでなく、削除しようとしましたが、何も取得できないようです。他のラテン文字エンコーディングなどを試しましたが、どんどん悪化しています。これをどのように修正できるかについて誰かが考えていますか?

4

1 に答える 1

0

UTF-8 でエンコードされたテキストéを ISO-8859-1 でエンコードされたテキストとして表示すると、 のように表示されéます。

私の記憶が正しければ、SimpleXML は UTF-8 でエンコードされたデータでのみ機能します。そのため、データが UTF-8 でない場合は、読み込むすべてのファイルとドキュメントに追加するテキスト文字列を (SimpleXML メソッドを使用する前に) エンコードする必要があります。iconv()またはutf8_encode()を変換に使用できます。

コードに ASCII 以外のリテラルが含まれている場合は、コード ファイルのエンコードも確認してください。

于 2013-02-19T19:44:15.960 に答える