前回の
記事で、このブログも Blogger beta に移行した、ということをお伝えしました。
実にあっさり移行できてしまい少し拍子抜け。
などと、のんびりしていたのもつかの間、
フィード(RSSとAtom)が文字化けしてますよ。
とのコメントをいただきました。実際に Firefox で見てみると、このとおり。
ソースを見ると、フィード自体は Shift_JIS で書き出されているものの、文字コードの指定が
<?xml version='1.0' encoding='UTF-8'?>
となっています。どうやらこれが文字化けの元凶のようです。
この現象は
BlogSpot 以外のサーバーで、さらに非 UTF-8 な文字コードで書かれたブログだけに起こる模様。現に、このブログの旧 URL においてある
引越し案内ブログ(BlogSpot + Shift_JIS)ではこの問題は起きていなくて、Shift_JIS のブログ内容に対し、フィードは UTF-8 で書き出されています。
対応策
livedoor Reader などは問題なかったんですが、Bloglines やはてなリングでもデータの文字化けを確認。フィードリーダー経由で訪れる人も多いこのブログ、フィードが読めなくなるのはとても困るのです。
そこで対応策を考えました。それが .htaccess ファイルでリダイレクトする方法です。というのも、独自サーバーでかつ非 UTF-8 の文字コードで書かれている Blogger beta ブログでも、beta.blogger.com 上のフィードは UTF-8 で保存されている、ということが分かったため。これを利用しない手はありません。幸い(?)独自サーバーなので、.htaccess ファイルの設置も問題ないはずですし。
ということで .htaccess ファイルに
Redirect 302 /atom.xml http://beta.blogger.com/feeds/12345678/posts/full
Redirect 302 /rss.xml http://beta.blogger.com/feeds/12345678/posts/full?alt=rss
などと書くといい、というわけです。赤字の部分はブログ ID に書き換えて使ってください。
これでフィードリーダーもとりあえず問題なし、のはず。一時的なリダイレクトなので必ず 302 で飛ばすようにしてください。301 で飛ばすと「永久的な移転ですね」と判断されて、親切にもフィードリーダー内の情報が全て書き換えられてしまうので(
参考)。
長々と書いたわりには、かなり特殊な状況での話なので、一般のユーザーにはほとんど役に立たない気がします。でももしかすると誰かの役に立つかもしれないな、ということで公開しておきます。Blogger beta がフィードの文字コード情報をきちんと書き出してくれたら、それで問題はなくなるんですが…。
・Blogger ウィジェットの実験場 Blogger beta Widgets は名称を Blogger Widgets に変更しました。実験場なのでどちらでもいいんですけどね。Blogger Beta Tips さんはどうされるのか、気になるところ。
・Blogger 入門 の更新を急がないと…。