2006/02/14 火
FeedAmazon で Bloglines の表示不具合に暫定対応しました
Bloglines には、マルチバイトを含む長い title の RSS を登録すると description が表示されなくなる、という不具合がかなり前からあります。これは以前に「Bloglines で FeedAmazon の本文が表示されなかったりする件」でもお伝えしたように、FeedAmazon が生成する RSS でも同様なのですが、この度暫定対応しました。
Bloglines では RSS の title を、購読 RSS 一覧 (左ペイン) で 64 バイト、RSS 本文表示 (右ペイン) で 80 バイトの位置で「エンコードや文字列内容に関係なく」ぶったぎるステキな仕様になっているようです。これにより、マルチバイト文字の途中で文字列がカットされる可能性があります。その場合、文字列が不完全な形で処理されるために、本文表示処理に不具合が出るようです。文字列が長くても、このカット位置と文字の区切りがうまく合えば問題ないようです。
というわけで、FeedAmazon では Bloglines からのアクセスに限り、RSS の title を加工して返すようにしてみました。具体的には「Amazon.co.jp: ○○」の部分のスペース数を1個から3個の間で調整し、文字の区切りでうまくカットされるようにしてみました。対 Bloglines という意味では、80 バイトにうまく収まる様にあらかじめカットして返す、というやり方でもいいと思いますが、なんとなくこの形でやってみました。ちなみに、この方法だと購読 RSS 一覧の文字化けには対応できません。どちらも対応するなら、64 バイト以前で1回、 80 バイト以前までにもう1回長さを調整する必要がありますが、あまりやる意味はないかも…。
ついでに、RSS の title が Amazon.co.jp の HTML にひきづられ長く見づらくなっていたのを、なるべく以前のようなディレクトリ表示になるように修正しました。これで配信中の RSS 一覧も少しは見やすくなると思います。ただ、「おもちゃ&ホビー」などのルートジャンルはいまのところそのままです。個別対応するか title の取得方法を変えるか悩み中です。
どちらも今日一日くらいかけて反映されると思いますので、よろしくお願いします。不具合などありましたらご連絡頂ければと思います。








