引き続き、WOrdpressのRSSフィードの不具合の件です。
サーバーのバージョンアップの際の文字化けが解決したと思ったら、今度は数件運営している中の、
一件のブログだけが、RSSフィードが正常に表示されていないことに気づきました。
↓こんな風に表示されていました。
「Internet Explorer ではこのフィードを表示できません
このフィードにはコード上のエラーが含まれています。 」
詳細情報
ドキュメントの最上位では無効です。
行: 1 文字: 1
検索しまくりましたし、他のブログ(ここも)はRSSフィードは正常に表示されているのに
と思い、他のブログのPHPをダウンロードしては照らし合わせ、、、。
しかし、特に変っているところは無し。
一番怪しいのは、RSSフィードページ、ブログページ共に
ソースを開くと、ドキュメント宣言の前にこんな風に↓
?
最初に「?」が付いて表示されます。
他の正常に表示されるのフィードのソースでは、先頭に「?」は付いていませんので、
素人ながら、これがエラーの原因かとも思い、「?」を取る方法を調べましたが、分りませんでした。
しかし、いつまでもイライラするのもイヤなので、ひたすら策を考えました。
とにかく、一個一個怪しいPHPファイルを調査しようと、、、。
ただ、何かのサイトにこういう場合はTeraPadを使うと良いと書いてあったので
サーバーのバージョンアップに伴う文字化けの顛末以来、ずっとクレセントEVEから
TeraPatoに変え修正していたのです。
文字コードも、BOMがなんとやら、という事なので、それなりにアップロードし直したり。
しかし、一向に直りませんしRSSフィードもエラー表示のままです。
けれども、ここはもう一度クレセントEVEの文法チェックを利用してみようと思いました。
すると、やはり、幾つかのPHPファイルのコードに不具合がありました。
クレセントEVEであやしいPHPファイルをUTF-8(BOM無し)で開いてみたら、
不具合メッセージの警告が出まして、「このテキストはUTF-8ですがshift JISに変換出来ない文字があります・・・(略)・・」と書かれています。
そして確認しました所、<?php であるべきところが ・?phph など、変な文字に変っていたファイルが数個。
そこで、そのまま正しい表記に修正し、もちろんUTF-8で保存し、アップロードしなおしたところ、
RSSフィードも正常表記され、
更に、ソースも「?」が先頭から消え、正しい表記に直っていました。
なにはともあれ万歳~。
本当にくたびれましたが、直ってよかったです。