nDiki : 2004年01月25日

2004年1月25日 (日)

[ 日記 ] ページ上部の「ちょっとひとこと」コメント襴を外す

アンテナ巡回でいろいろな方の Web 日記を日々閲覧しているのだが、パッとページが表示された時にスクロールしないで見れる範囲に新着記事が表示されない(=ヘッダ部分が長すぎる)と、

「記事は更新されていなかったのかな? (本文以外のところが書き換わってだけ?)」

と思って、ぱっと次にいってしまうことがよくある。

で自分のところを見てみると、実際そうだったり。 実験もかねて NaneyOrgWiki の中の1ページをエクスポートしてハイパー日記システム側で取り込んでみているのだが、長くなってくると日記自体が読みにくくなってきた。

とりあえず、ページ上部のこの襴は削除。 内容はサイドバーに移しておいた。 幅がそれほどないので、今のままだと折り返しすぎて読みにくい。 要調整。 サイドバー自体も、NaneyOrgWiki のページをエクスポートして取り込んでいるのだが *1 こちらも長くなりすぎだし整理する必要があるな。

*1一部。そうでない部分もある。

スポンサード リンク

オンキヨー FR-SX7DV(D)

ONKYODVD/MDチューナーアンプシステム FR-SX7DV(D) を注文。

DVD無しでもう少し音質のいい FR-SX9A(D) + SONYの DVDプレーヤー DVP-F31-S という組み合わせも考えたのだが、予算・設置スペース・将来DVDレコーダーを買った時の事などを考えて DVD コンポ1台にすることにした。


[ 家電 ]

過去の今ごろ

過去の1月25日より。

[ WiKicker ] 通知メールの Subject: フィールドのエンコーディング修正

WiKicker には通知メールの Subject: フィールドがたまに壊れている問題があるのだが、ずっと放置しておいたままだった。 そろそろ次のバージョンをリリースしたいと思うので、今回修正しておく。

結果半日かかってしまった。

MIME::Words::encode_mimewords

まず現在エンコーディングに使っている MIME::Words::encode_mimewords (5.404)であるが、マニュアルを見ると charset によってはマズいエンコーディングを吐くらしい。 WiKicker で Subject: ヘッダが壊れるのも、この問題のせい。 文字境界を無視してぶったぎってエンコードされてしまう。 ということで、自前でエンコードする事にする。

自前エンコーダ

まぁたいしたものではないが。 最初はエンコードする必要のある部分だけ encoded-word にする事も考えたのだが、面倒なのでやめ。 全部エンコードしてしまう事にする。 エンコーディングも最初は、"Q" encoding実装しはじめたのだが(MIME::Words のデフォルトがそうなので、WiKicker でもそれを使っていた)ちょっと面倒なので、"B" encoding に変更。

タイトルの途中に空白が入ってしまう?

で、テスト。うーん。途中に余分な空白が入ってしまうな。 mew で受信したメールを見ると folding のところで余分な空白が入って表示される。 RFCとか見ても encoded-word に挟まれた CRLF SPACE は無視されるはずなんだけれどなぁ。

UTF-8 の代わりに ISO-2022-JPにしてみたりとか、エンコーディングを変えてみたり(Q or B)したのだが変わらず。 他から受けとっているメールは問題ないから、mew の問題でもなさそうだし。

ん? mew の inbox を確認してみると、他のソフトからのは \n, space でフォールディングされているな。 今書いているコードから送ったやつは \r\n, space でフォールディングされている。 RFC的には CRLF space では?

問題は別のところに

WiKicker で \r\n, space でフォールディングしているところを \n, space でフォールディングするようにしたら直る。 けど、これでいいのかな?

って良く考えたら、他の部分はヘッダでも本文でも改行には \n を使っているんだった(Perl のヒアドキュメントを使っているので)。 ということは今まで、それを標準入力から受けとった sendmail が LFCRLF にしてくれていたのか。 あまり深い事考えてなかったな。 今回はフォールディングのところだけで CRLF にしたため 一個余分に CR がついてしまい、それがタイトルの文字列中の空白として表示されてしまったと。

結局疑うべきは自分のコード。

[ 1月25日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

follow us in feedly

月別インデックス
Process Time: 0.050597s / load averages: 0.33, 0.52, 0.46
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker