mailtoのbodyを日本語で書きたいのですが、winとmacの両方で文字化けを起こさないようにするには、どのようにエンコードすればいいのでしょうか?

できないときは、どのように逃げるのがスマートでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/04/07 19:25:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:ceds No.1

回答回数16ベストアンサー獲得回数3

ポイント35pt

http://www.shtml.jp/mojibake/mailto.html

http://allabout.co.jp/career/html/closeup/CU20030623A/index2...

どういう状況・原因下での文字化けを想定されているのかがわからない(当方の勉強不足かもしれません)ので恐縮ですが、以上のようなページを挙げておきます。

これで解決できないなら、フォームメールを使ってみるのはどうでしょうか? PHPやPerlの動作環境が必要になりますが、それさえクリアできれば、まず文字化けしないフォームメールが作れます。もちろん、クリックするだけで予め決められた本文のみ送信することも可能です。

http://www.google.com/search?client=safari&rls=ja-jp&q=PHP+フォームメール&ie=UTF-8&oe=UTF-8

http://www.google.com/search?client=safari&rls=ja-jp&q=Perl+フォームメール&ie=UTF-8&oe=UTF-8

id:nikita_r

HTMLはSJISで書いている状況ですが、起動するメールソフトによっても左右されそうな話ですね。

フォームの方がいいように思ってきました。

mailto古いし・・・

2006/04/01 14:57:49
id:hamster009 No.2

回答回数3431ベストアンサー獲得回数50

ポイント35pt

http://www.yahoo.co.jp/

htmlの文字コードをutf8にすれば問題ありません。

id:nikita_r

そうなんですか。

でも、HTMLはSJISで書いており、全面的にutf-8に変えるのは、難しそうですね。

それとも、エンコードする文字列だけをutf-8にすればよいのでしょうか。

試してみます。

2006/04/01 14:59:03
id:mumusasa No.3

回答回数4ベストアンサー獲得回数1

ポイント10pt

URLエンコードすれば良い話だと思うのですが、それで解決しませんか?


例えば、

<a href="mailto:foo@bar.com?body=○×案件">お便りはこちら</a>

を Shift_JIS でURLエンコードすれば、

<a href="mailto:foo@bar.com?body=%81%9B%81%7E%88%C4%8C%8F">お便りはこちら</a>

となります。

このキーワード「○×案件」を「%81%9B%81%7E%88%C4%8C%8F」に変更することがエンコードとなります。

※@は全角で記述してある


「TAG index」

http://www.tagindex.com/html_tag/link/a_mailto_sub.html

で、日本語本文をエンコード「したもの」と「しないもの」が記載されていますので、この例が質問者殿の希望に叶うものか試してみてはいかがですか。


「URLエンコード」で望みが叶うなら、このページからリンクされている「URLエンコード」のページをブックマークして、希望のテキストをエンコードすれば良いと思います。

http://www.tagindex.com/tool/url.html

id:harrypotter No.4

回答回数83ベストアンサー獲得回数11

ポイント10pt

化ける環境が無いので分かりませんが、エンティティ化してみるのはどうでしょう。

試したところ手元のマックでもうまくいきましたが、もともと文字化けしないのでよく分かりません。

HTMLエンティティ化

文字化けは環境やメーラーが原因ではないのでしょうか?

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません