« VistaのWindows Mailプレビューで文字化けする場合(「髟阡」「瘢雹」の意味。サニタイジングについて) | トップページ | 【最新アクセスログ調査】 Vistaからのアクセスは1%に迫る勢い。IE7のシェアも10%目前?! »

2007/02/14

VistaのWindows Mailとmailtoタグによる本文のプリセット(文字化け問題)



Vistaモデルも新登場!!

VistaのWindows Mailを使っていて気が付いたことがあります。ブラウザ内に表示されているメールアドレスのリンクなどをクリックすると、mailtoプロトコルに関連付けられたメールソフトの作成画面が起動します。そこまでは問題ありませんが、Outlook Express時代には使えた方法で、本文をプリセットしておく方法が使えなくなりました。文字化けします。

件名のプリセットは文字化けしませんが、本文のプリセットは文字化けします。

Shift_JISでエンコードされたページ内において下記のようなソースを貼り付けたページを考えてみます。



Windows Mailがmailtoプロトコルに関連付けられていると、下記のように文字化けします。



XP SP2+OE6の場合は、このような不具合(不都合)はありませんでした。



XP SP2+IE6では上記のように表示されていました。

なぜ、Vistaでも件名だけは文字化けしないのかは分かりませんが、このVistaでの文字化けパターン(糸偏の漢字の大量出現)はなじみのあるものです。この文字化けのパターンは既に研究済みで、拙著:

ウェブマスターのための文字化け講座: 「Googleの検索結果の文字化け」
http://www.shtml.jp/mojibake/google.html

をご参照ください。結論から言えば、UTF-8の文字列をShift_JISとして解釈していることから起こります。上記ページ内のFlashフォームで、「メールの本文」がどのように文字化けするのかシミュレーションしてみますと、「繝。繝シ繝ォ縺ョ譛ャ譁」になりました。予想通りです。



VistaのWindows Mailを想定するならば、mailtoタグで本文のプリセットは一工夫が必要そうです。日本語をあらかじめURLエンコードしておく方法が考えられます。詳細は、拙著:

ウェブマスターのための文字化け講座:「EUCのページでmailtoのサブジェクトを指定するには?」
http://www.shtml.jp/mojibake/mailto.html
URLエンコードする方法を採用すれば、Windows Mailでも文字化けしません。ただし、URLエンコード方式は、上記ページでも書いていますが、ThunderbirdなどMozilla系メールソフトでは、URLエンコードがアダになって、かえって文字化けします。

ユーザーが使っているユーザーーエージェントからOSは分かりますが、デフォルトで使っている(=mailtoプロトコルに関連付けられている)メールソフトまでは、JavaScriptでは分かりません。

ですから、理論的に言えば、Shift_JISのページ内で、mailtoタグで件名や本文をプリセットしたい場合は、
  • 日本語をURLエンコードせずにそのまま使うことを原則とする。
  • JavaScriptでOSを判別し、Vistaの場合は、件名のプリセットだけを行い、本文のプリセットはあきらめる。
    (もしくは、VistaでThunderbirdを使っている人はほとんどいないだろうという計算で、本文はURLエンコードしておきます。)
  • JavaScriptがoffの場合は、メールの本文のプリセットをあきらめる。(もしくは、JavaScriptをoffにしていてVistaを使っている人なんてほとんどないだろうという計算で、本文もそのままプリセットしてしまう。)
が最も確実な方法かもしれません。

問題は、EUC-JPやUTF-8のページのように、URLエンコードしておかなければ、Windows XP+outlook Express 6.0という最もポピュラーな組み合わせでも文字化けしますが、URLエンコードをすると、Thuderbirdユーザーなどが困るというのがあります。

このようにややこしいことを考えると、面倒くさがらずに、PHPやPerlでしこしことプログラムして、フォーム経由でメールを受信できるようにしたほうが結局早い気がします。なんとも不甲斐ない結論ですが、実際そうだと思います。



【ウィルスチェック標準】NTTスマートコネクトのレンタルサーバ

|

« VistaのWindows Mailプレビューで文字化けする場合(「髟阡」「瘢雹」の意味。サニタイジングについて) | トップページ | 【最新アクセスログ調査】 Vistaからのアクセスは1%に迫る勢い。IE7のシェアも10%目前?! »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/67411/13907609

この記事へのトラックバック一覧です: VistaのWindows Mailとmailtoタグによる本文のプリセット(文字化け問題):

» USBメモリーでパソコンを高速化する方法 [USBメモリーでパソコンを高速化する方法]
スピードのテストをパスすると、「リムーバブル ディスクのプロパティ」が表示されるので、キャッシュとして使用する [続きを読む]

受信: 2007/02/21 21:35

» VistaのWindows Mailで、本文が文字化けする [OPQR.jp : WebサービスとWebデザインについて考えてみる;]
Aタグのmailtoでメール本文(body)を指定してしていて、ユーザー側でそれ... [続きを読む]

受信: 2007/08/02 10:14

« VistaのWindows Mailプレビューで文字化けする場合(「髟阡」「瘢雹」の意味。サニタイジングについて) | トップページ | 【最新アクセスログ調査】 Vistaからのアクセスは1%に迫る勢い。IE7のシェアも10%目前?! »