Blog: februar 2005アーカイブ

ここ数日、メインページの左下にドイツのニュースサイトが提供しているRSSをひっぱってこようとして、なにせ MovableType 初心者だから、試行錯誤していた。

MovableType は UTF-8 だから、基本的にドイツ語やフランス語の特殊文字と日本語が共存できることは、すでにいくつものエントリで実証済みだった。SJIS や EUC で ä, ü, ö, ß を ae とか ue とか ss とか記すのは気が進まないし、フランス語のアクサンなんかどうにもならない。いや、確かにこのあたりのISO 8859-1に含まれる特殊文字は、HTML entities と呼ばれる表記法で書き換えることを厭わなければ、SJIS ベースでも共存させることは不可能ではない。しかし中国語や韓国語ともなると、日本語と共存させることもできない。ユニコードは違う。いろいろ言われているユニコードだけれど、このさい徹底して使って多言語共存を進めてやろう、と思っていた。

ところが、RSSフィードを引っ張ってくるとなるとすんなりとは行かなかった。あちこちの MovableTye サイトで使われているmt-rssfeed プラグインで持ってくると、どうもうまくいかない。ドイツのサイトはRSSにもたいてい ISO-8859-1 を使っているので、それを UTF-8 に変換してやりさえすればいいはずなのだが、どうしてもウムラウトなどが化けてしまう。

PHP のほうで、MagpieRSS というモジュールがあることに気づいたので、ためしにそれを使って、RSSを取ってきて、これに PHP の mb_convert_variables をかけてやると、UTF-8 できれいに表示できる。ならばそれを MT のメインページに埋め込んでやればいいではないか。そう思ったけれど、メインページの拡張子は .html だから、そこに .php ファイルを include してやってもうまく動かない様子。はて、では PHP のほうから .html ファイルを書き出させて、それをMTIncludeすればいいのかなどと考えて悩んでしまった。

そこで思いついたのが、MT と PHP の初心者にしてはたいへんな「逆転の発想」。MT のメインページの拡張子を .php にしてしまえばいいではないか。メインページを含めて、MT のテンプレートには、書き出しファイル名を指定する欄がある。ということはなにも index.html でなくてもいいのではないか。index.php でもいいのではないか。そうしておいて、MagpieRSSで RSS を引っ張ってくる .php ファイルを PHP でインクルードしてやる。やってみたらうまくいった。MT がそれだけ柔軟で頑丈に設計されているということだろう。もしかしたらどこかに不具合が潜んでいるかもしれないけれど、今のところはうまく動いているようなので、しばらくこれで行ってみようと思う。

というわけで、ここのメインページの左には、Lycos.deからとってきたニュースの見出しが文字化けもせずに並んでいるはずですが、いかがでしょうか。

    
  • Google Bookmarks
  • Yahoo!ブックマーク
  • はてなブックマーク
  • del.icio.us
  • livedoor クリップ
  • POOKMARK Airlines
  • ニフティクリップ
  • Buzzurl
  • newsing it!

ウェブページ

Powered by Movable Type 4.1

リンク

このアーカイブについて

このページには、februar 2005以降に書かれたブログ記事のうちBlogカテゴリに属しているものが含まれています。

次のアーカイブはBlog: april 2005です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Add to Google
 iTunes Store(Japan)
Apple Store(Japan)