@kazuhito
Kazuhito Kidachi's Personal Web Site Since 2000

フィードの文字化けとdel.icio.us

これも少し前のことになりますが、当覚え書きの読者の方からメールをいただきました。そのようなことは極めて稀なので、たいへん嬉しかったのですが、内容的にはフィードで文字化けが発生していますよ、とのご指摘でした。もちろんそれはそれで有難いことで、フィードのアグリゲータにはNetNewsWireをお使いとのことでした。そのときはすぐと原因が思い浮かばず、即時解決は難しいかもなぁと思っていたところ、同じ方より文字化けが直ったとのご連絡が。2度のメールのあいだに自分が当覚え書きに加えた操作から、簡単に原因を特定することができました。それは、XMLフォーマットで出力されたフィードの要素内容に書き込まれた特殊文字「&」です。
この覚え書きにおいて「links for YYYY-MM-DD」というタイトルで、リンクタイトルとリンク先コンテンツに関するコメントを記述した記事というのは、del.icio.usの提供するdaily blog postingという機能を利用し、日本時間の23時にその日にブックマークした内容を自動投稿させているものです。実際の投稿タイミングとしては、若干遅れて23時20分前後のことが多いと思います。その際、urlやdescription(リンクタイトルに相当)、notes(自分のつけたコメントに相当)のなかに特殊文字が存在していても、その内容のままで投稿されるため、パブリッシュされたXHTML文書はinvalidなものとなり、フィードもまた問題を孕んでしまうことになります。これまでにもそのような事態はたびたび経験しており、気がついた範囲で修正するようにしていますし、またできるだけdel.icio.usにブックマークする時点でそのような特殊文字を含んでいないかチェックするようにしています。
そのような問題を未然に防ぐためにはdel.icio.us側と自動投稿を受けるMovable Type側のどちらで対応すべきなのか?と思いXML-RPCの仕様を眺めてみたところ

Any characters are allowed in a string except < and &, which are encoded as &lt; and &amp;.

という記述があり、投稿する側であらかじめ置き換えが必要なようですね。早速del.icio.us supportにこの件を問い合わせたところ、親切にお返事をいただきました。曰く、目下daily blog posting functionには複数のバグがあり、将来バージョンではこの種の問題を生じさせないようにするつもり、とのこと。それまでは引き続き、上述のような対応を僕のほうで続けざるを得なさそうです。ただし文字化けが発生するような実害が発生するかどうかは、フィードアグリゲータ側の解釈にも依存する気がします。というのも、自分のフィードは僕自身Bloglinesで確認しているのですが、これまで同様の文字化けを目にしていないので……ええと、とりあえず気をつけます。

現在地:ホーム > 覚え書き > 月別アーカイブ > 2006年8月 > フィードの文字化けとdel.icio.us
Google カスタム検索を利用しています