• ベストアンサー
  • すぐに回答を!

EUC文字体系のhtmlから、mailtoでWindowsのメーラーを呼び出してもsubject文字化けさせない方法を教えてください

  • 質問No.3517235
  • 閲覧数519
  • ありがとう数1
  • 回答数1

お礼率 78% (97/123)

EUCコードで書かれたhtmlソースページにて、次のように外部メーラーを呼びだすようにタグを書いた場合、
<A HREF="mailto:test@test.com?cc=admin@net.co.jp?subject=テストです?body=本文です">メールはこちら</A>

ブラウザから当該リンクをクリックして、メーラーが起動されたときに、subject/本文ともに文字化けを起こしています。
(ちなみにメーラーはBeckyで試しています)
これは、Windows環境がShift-JISのためだと思い、上記のタグの中で、日本語の部分だけ、Shift-JISに変えるようにしてみました。

<A HREF="mailto:test@test.com?cc=admin@net.co.jp?subject=・ニ・ケ・ネ、ヌ、ケ?body=ヒワハク、ヌ、ケ">メールはこちら</A>

それでもやはりsubject/本文ともに文字化けします。(最初のものとは違う化け方です)

htmlページはeuc文字体系から変えないものとして、上記のような文字化けを回避するhtmlの書き方について教えてください。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 54% (1660/3060)

仕様上はマルチバイト文字は【ページの符号化方式に関わらず】UTF-8でパーセントエンコードすることになっていますが・・・

ecmascriptで
encodeURIComponent("文字列")
で返される文字列のこと

http://homepage3.nifty.com/jgrammar/ja/tools/codeval0.htm
でUTF-8にだけチェックを入れ,出てくる二桁ずつの16進数の前にそれぞれ
%をつけたものと同じ

mailto:test@test.com?cc=admin@net.co.jp?subject=%E3%83%86%E3%82%B9%E3%83%88%E3%81%A7%E3%81%99

ってな感じで。

[インターネットオプション]
[詳細設定]
mailtoリンクでUTF-8を使う

にチェックすれば大丈夫だと思う。

ただ,そうでない場合
確か完全に解決する方法はないとか言う結論だった気がする
http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=4551
お礼コメント
goku3

お礼率 78% (97/123)

>>UTF-8にだけチェックを入れ,出てくる二桁ずつの16進数の前にそれぞれ%をつけたものと同じ

バッチリです。^^
なかなか解決しなかったので感動しています。
大変ありがとうございました。
投稿日時:2007/11/14 19:22
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ