2016-06-23 6 views
2

私は自分のRSSフィードをphpで作成しましたが、アクセント付きの文字を使用すると検証されません。私はそれのための解決策を見つけることができません。PHP:アクセント付きの文字でRSSフィードが有効にならない

これは今まで私のRSSフィードです:

<?xml version="1.0"?> 
     <rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> 
     <channel> 
     <title>My site</title> 
     <link>http://www.example.com</link> 
     <description>The newest music</description> 
     <atom:link href="http://www.example.com/feed.php" rel="self"></atom:link> 
     <item> 
     <title><![CDATA[Beyoncé - Sorry]]></title> 
     <description>New Music</description> 
     <pubDate>Thu, 23 Jun 2016 09:07:10 +0000</pubDate> 
     <guid>http://www.example.com/beyonce/sorry</guid> 
     <enclosure url="mypicture.jpg" length="0" type="image/jpeg"></enclosure> 
     <link>http://www.example.com/beyonce/sorry</link> 
     </item> 
     </channel> 
    </rss> 

私はCDATAタグを試みたが、それは特殊文字を固定しますが、アクセント付きません。 考えていますか?

私はバリデータとしてhttps://validator.w3.org/feed/check.cgiを使用しました。 エラーメッセージ:「 'utf8'コーデックは、位置2474のバイト0xe9をデコードできません:無効継続バイト(多分高ビット文字ですか?)」

そしてFirefoxとIEのブラウザをチェックします。アクセント付きの文字で項目を表示します。フィード全体の中の他のアイテムはうまく表示されます。私は答えを自分で見つけ

header('Content-type: text/xml; charset=utf-8'); 
+0

それは私のためにうまく検証します。特定の検証方法を使用していますか?エラーは何ですか? *動作しているものの代わりに*機能しないものを提供してください。 – apokryfos

+0

あなたの質問に答えるために投稿を編集しました。 –

+0

私はうまくいきません。上記のコードから作業項目が削除されます。 –

答えて

0

これは、ヘッダ情報です。

utf8_encode()を使用して、アクセント付きの文字を正しく取得するようにしてください。

例:

$title = Beyoncé; 
$title = utf8_encode($title); 

echo $title 
関連する問題