June 05, 2003
Shift_JISのBlogのRSSだけUTF-8にする方法
talk to oneself 2からTrackbackをもらって昔書いたものを今見たと言うことは検索して見つけたのかなと思いGoogleでrss 文字化けなどのキーワードで検索してみると見慣れないサイトがあった。
よく見てみるとmacromarionette - graphic design: FeedReader, NetNewsWire の文字化け対策
について書いてあるので読んでみるとShift_JISのサイトだがRSSはUTF-8化に成功したとの事。これはいい。今までの悩み事が一つ解決できそうだ。
早速手順にそってやってみる。
必要なものはblog.bulknews.netで提供されているmt-jcodeなのであらかじめインストールしておく。
まずpluginsディレクトリーがない場合はMTのインストールされているところに作成する。
そしてblog.bulknews.netよりJcode プラグインを名前をつけて保存する。(mt-jcode.pl)文字化けするような際はブラウザーからコピーしてエディターに貼り付ければOK。
そうしたら先ほど作成したpluginsディレクトリーの中のMT-Jcode.plをサーバーにアップロードする。これはパーミッションは特に変更しなくていい(644のままでOK)
次はMTの管理画面よりindex.rdfを書き換える。
FeedReader, NetNewsWire の文字化け対策 を参考にMTの管理画面よりindex.rdfを書き換える。
index.rdfを保存し、リビルドするとこの部分だけコードがUTF-8となって作成される。
リビルドした際にHASHのエラーがでるけれどもこれは単なる警告のようなのでとりあえず
眼をつむる。(理由がわかる方フォローしてください。)
ちなみに原因となっているlib/MT/Util.pmの71-73行目は以下の通り
71|$f{b} = substr $L->[1][$f{'m'}-1], 0, 3;
72|$f{B} = $L->[1][$f{'m'}-1];
73|$f{a} = substr $L->[0][$f{w}], 0, 3;
となっている。上の71,73行見てみるがさっぱりわからない
RSS Validatorに通してみるが最初エラーがでたので中を見てみると改行やCCライセンスの記述のところでエラーがあるようなので少し直す。CCライセンスは自分のMTのバージョン2.51では自動的にコードが挿入されないので手書きで加えておいた。(利用する際はmacromarionetteさんのコードを参照)
修正後のindex.rdf
これを再度RSS Validatorに通してみるとOKとなった。
![]()
これでRSSの文字化け対策は完了。しかしHASHに怒られる部分が直せれば完璧だ。
Posted by kengo at June 5, 2003 08:07 PM | TrackBack | BLOG | Blog Search | English | QR |
rssのリンクがおかしいです。
http://kengo.preston-net.com/archives/index.rdf
ではなく、
http://kengo.preston-net.com/index.rdf
ではないかと。
ご指摘ありがとうございます。
Individual Entry Archiveのサイドバーの部分ですよね。
直しておきました。
テンプレートの中に<$MTBlogURL$> が入っていませんでしたのですべてのテンプレートに追加しました。

Twitter経由でコメントする
メールの場合はこちらまで
Google Talk からメッセージを送る

















