Skip navigation.

Error Log

最近電車ばっかり…

Posts tagged with "mail"

続、円記号に気をつけろ

, ,

円記号が U+00a5 になっていたメールのソースを確認しました。

結論: U+00a5 にしたのは Opera。


問題のメールは Outlook(Exchange) から送信されており、メッセージソース上は何も問題ない ISO-2022-JP のメールでした。円記号もソース中は \x5c でした。

・・・しかし、何かが違うようです。

このメッセージソースを Peggy で別名保存して Opera にインポートさせると、U+00a5 への変換をしなかったのです。・・・んんん??
さらに不思議なことに、Peggy で別名保存したメッセージソースと、オリジナルのメッセージソースとの diff を取ると、目視では違いのない差分が示されました。

両者の違いは、マルチバイト文字列の後「ここからは英数字です」を意味するエスケープシーケンスでした。
オリジナルのメッセージソースでは、「ESC "(" "7" (ここからは JIS X 0201)」です。
一方で Peggy で保存したメッセージソースは、「ESC "(" "B" (ここからは ASCII)」です。


なるほど、Opera はこんな細かいところに(忠実に?)反応していました。
確かに、JIS X 0201 では文字コード \x5c は円記号なので、これを UNICODE にマッピングすると U+00a5 の円記号が妥当でしょう。
ASCII では文字コード \x5c はバックスラッシュなので、これを UNICODE にマッピングすると U+005c のバックスラッシュが妥当でしょう。
しかし、Windows はそんなのドン無視で、ASCII だろうと JIS X 0201 だろうと \x5c は U+005c にマッピングされます。
(バックスラッシュとして見えるか、円記号として見えるかは、フォント次第(--; )

というわけで、Opera の忠実?な対応が裏目に出てしまった格好です。


考えてみると、\x5c を円記号とみなしたで考えたのが久しぶりのような気がします。
Peggy では、\x5c をバックスラッシュとして表示するフォントを使ってますし、円記号で表示されるフォントで見ても、人と話すときは常に「ばくすら」ですから。。。

円記号に気をつけろ

, ,

メールに書かれているバスが「存在しない」って言われる現象に出くわすことがあります。順にディレクトリを下っていくと確かに存在しているのに。Peggy に一旦貼り付けてクリップボードにコピーし直すと、このエラーが発生しなくなります(他のエディタでも多分同じ結果でしょう)。不思議。

その原因が、これ。

円記号の字形を持った文字がコード U+005c と U+00a5 の二カ所にあるよ…って問題。

見事にやられました。
僕が受け取ったメールは、ディレクトリ区切りがすべて a5 の円記号になっていたのです。
Windows が UNICODE の U+00a5 を Shift_JIS の \x005c にマッピングしている様で、UNICODE 非対応エディタに貼り付けると、U+00a5 の円記号がすべて \x5c の円記号/バックスラッシュに置換されていたのでした。
# 逆に Shift_JIS の \x005c は UNICODE の U+005c にマッピングされるのに…。

僕は、拙作 ShellExecute で開くコマンド を使っていたので、「円記号をファイル名・ディレクトリ名に使うやつはおらんだろ」と言う発想で、ShellExecute.wsf に U+00a5 → U+005c 変換を加えて対処しました。
… ほんとにおらんのか?ためしに、U+00a5 の円記号を使ったディレクトリ・ファイルを作ってみました。

… できてしまった。(下のファイル名は、全角の円記号「¥」を使った場合)

このファイルは、Peggy で開くことができませんでした。パスが存在しないって。UNICODE に対応していないアプリケーションには、\x005c に変換された(実在しない)パスが渡されるんですから、当然の結果です。
日本語版 Windows を使っている人たちにとっては、ディレクトリ区切り文字は(\x005c の文字ではなく)円記号なのですから、U+00a5 の円記号もディレクトリ区切りとして扱って… せめてファイル名の禁止文字に入れてくれればいいのに。

… ということで、「円記号に気をつけろ」という増やしたくない知見が増えるのでした。。。

Filter が消えた

,

前のエントリに書いた通り、クリーンインストール+メールインポートをしてしまったのです。
mail ディレクトリのコピーではなくて、インポートです。

… Filters の下が空~

うわ、またやってしまった。。。orz
# 8.5 → 9 tp1 のときもやっとります。

というわけで、暇を見つけて Filter を作らないといけません。
面倒くさ。。。

ただ、ほかのメーラと違って、
・送信者/あて先ごとのフィルタ
・メーリングリストごとのフィルタ
は自動で作ってくれます。
あと、検索を実行すると、検索条件がそのままフィルタになります。
# こちらは検索精度が良くないので、あまり使いません。

僕の職場では、Subject に【…】形式の見出しをつけることが
はやっているので、これを条件としたフィルタを数個作るだけで、
仕事に復帰できます。
… というのすら面倒。楽に慣れるのって恐ろしいですね。
December 2009
M T W T F S S
November 2009January 2010
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31