忙しい日々の時間をぬってコツコツ書いているwordpressのブログ。
ある日ふいにRSSフィードを見て気付きます、あれ、表示がぐちゃぐちゃ。。というかピンクの警告表示が出てるじゃないですか。【 Input is not proper UTF-8, indicate encoding 】
なんですかこれ!怖いです^^;
目次
なんとなく意味はわかるものの、原因不明のwordpressのRSSフィードエラー。
ページ上の表示は普通にできてるけど、なんかよけいにイヤな感じ。
このエラー、自分で自分のフィードを日ごろからチェックしてないとなかなか気づけないです。
意識しないとわざわざRSSフィードがちゃんと出力されてるかどうかなんて見ないですから。
でもいざエラー表示を見てしまうと、気になる。すごーく気になる。
ブログの見た目にはまったく影響してないんですが、逆にそれが余計に恐怖心をあおります。
ちなみにエラー表示はこんな感じ
英語もプログラムもほぼ分かりませんが、なんとなく伝えたいイメージは理解できます。
どっかでUTF-8ではない文字が混ざってますよ、みたいな意味ですよね。
ただね、ブログは通常通り表示されてるんですよ、各記事も見た目問題なし。
管理画面からもなにもエラー出てる様子もないし。
ただただ、RSSフィードだけがやられてます。。。
このエラー、いろいろ調べてたら、原因が多種類あるようです。
今回はうちで解決できた方法をご紹介します
UTF-8以外の文字エラーを出していた原因は、【制御コード】というものでした。
テキストのときにも、画面上でも見えないやっかいな存在です。
ファンクションファイルやRSSファイルの設定もいろいろ試したんですが、うちの場合はもっとシンプルな原因でした。
エラー表示がある特定の記事にやたら集中していたので気付きました。
システム的な問題ではなく、記事の中に問題があると。
今回の原因は、アドビのデザインソフト、イラストレーターから記事をコピペしてきたのが問題だったようです。
イラストレーターから直接コピペしてくると、どうやら目に見えない【制御コード】なるものが付いてくるようで。
見た目上には出てこないんですが、RSSフィードを書き出すときにはエラーの原因になるようです。
ではここから、今回どのように解決したかを具体的に説明します
見えない【制御コード】を見つけだして、それを削除していく方法
この「見えない」っていうのが、ほんとにやっかいでした。
エラー表示ではエラー箇所の行数や文字数をカウントしてくれてるんですが、実際にコードを見てもいったいどこのことやら。
しかも一旦削除したとしても、また次のエラーを表示。エラーは複数あるようです。
こんなの一個一個探すなんて途方もないです。そこで、、
1、まずはエラーの場所、記事を発見・特定する
エラーで怒られるたびに対応するんじゃなく、こちらからエラーを探します。
FEED Validator http://feedvalidator.org/
ここでフィードのアドレスを入力すればエラー箇所を分析してくれます。
具体的にどの記事のどのあたりにエラーが起きているのかしっかり見極めます。
2、見えないコードを見える化して、チクチク削除しちゃう
ここからが意外と時間かかりました。
なんせエラーがあるって分かっても見えないんですから。
テキストならこれで大丈夫!と自信を持ってnoeditorやterapadに貼りつけて確認しても異常なし。
いやいやいやー、あるはずなんです。めっちゃエラー出てますから。
そこで救世主として現れたのが必殺【Sublime Text】!! http://www.sublimetext.com/
こいつはすごかったです。たぶん本来の機能は別のもっと難しいことがありそうなんですが、こいつが今回の難敵、見えない制御コードを見事見える化してくれたんです。
うわー!いたー!!って感じです。
見えてしまえばもう怖くない。
チクリチクリと削除していって全部消したやつを記事に貼り直し。
見た目的には一緒ですが、確認してみたらRSSフィードのエラーはなくなってキレイに表示されてます。
はーさっぱり♪
ある記事を書いたあとに突然RSSフィードがUTF-8エラー出し始めた、っていう方は一度チェックしてみてください。
もし私と同じように制御コードが見つかったら、きっとSublime Textすげーっ!って感動すると思います^^