wordpressのRSSフィードの不具合

引き続き、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フィードも正常表記され、
更に、ソースも「?」が先頭から消え、正しい表記に直っていました。

なにはともあれ万歳~。

本当にくたびれましたが、直ってよかったです。