> 文字コード >
Shift_JIS と Blogger beta のフィードのこと
などと、のんびりしていたのもつかの間、
とのコメントをいただきました。実際に Firefox で見てみると、このとおり。
ソースを見ると、フィード自体は Shift_JIS で書き出されているものの、文字コードの指定が
となっています。どうやらこれが文字化けの元凶のようです。
この現象は 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 ファイルに
などと書くといい、というわけです。赤字の部分はブログ ID に書き換えて使ってください。
これでフィードリーダーもとりあえず問題なし、のはず。一時的なリダイレクトなので必ず 302 で飛ばすようにしてください。301 で飛ばすと「永久的な移転ですね」と判断されて、親切にもフィードリーダー内の情報が全て書き換えられてしまうので(参考)。
長々と書いたわりには、かなり特殊な状況での話なので、一般のユーザーにはほとんど役に立たない気がします。でももしかすると誰かの役に立つかもしれないな、ということで公開しておきます。Blogger beta がフィードの文字コード情報をきちんと書き出してくれたら、それで問題はなくなるんですが…。
スポンサードリンク:
お願い:
前回の記事で、このブログも 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
Redirect 302 /rss.xml http://beta.blogger.com/feeds/12345678/posts/full?alt=rss
などと書くといい、というわけです。赤字の部分はブログ ID に書き換えて使ってください。
これでフィードリーダーもとりあえず問題なし、のはず。一時的なリダイレクトなので必ず 302 で飛ばすようにしてください。301 で飛ばすと「永久的な移転ですね」と判断されて、親切にもフィードリーダー内の情報が全て書き換えられてしまうので(参考)。
長々と書いたわりには、かなり特殊な状況での話なので、一般のユーザーにはほとんど役に立たない気がします。でももしかすると誰かの役に立つかもしれないな、ということで公開しておきます。Blogger beta がフィードの文字コード情報をきちんと書き出してくれたら、それで問題はなくなるんですが…。
スポンサードリンク:
「この記事役に立った!」と思ったら、ぜひフィード登録をお願いします。 

いつも、拝見しております。
ReplyDelete質問なのですが、現在beta版を使用しているブログで上にあるNavbarを消したいのですが、可能でしょうか?
規約違反にはならないと思うのですが、消す方法が見つかりません。
よろしくお願いします。
いえ、違反になると思いますよ。
ReplyDeleteBlogger Buzz: Search policy
We consider it a violation of the terms to modify the Blogger navbar, ...
返信ありがとうございました。
ReplyDelete