[PHP-users 16372]Re: mailto送信時の文字化け

Katsuhiro Saito katsuhiro @ teruya.co.jp
2003年 7月 2日 (水) 17:21:59 JST


齊藤です。

この現象はhtmlの文字コードの問題ではありません。
だからSJISだろうがEUCだろうが関係ありません。
何が悪いのかというとsubjectやbodyに
英字以外の文字をそのまま使っているのが問題です。
そのため、URLエンコードする必要があります。
PHPでそれを実現するにはurlencode()を使えば可能です。

RFC2368とかも見ると幸せになれるかもしれません。
http://hp.vector.co.jp/authors/VA014833/rfc2368J.html

#重松さんのおっしゃるとおり、一通り試した後聞く方が
 お互い気持ちいいと思います。

   "[PHP-users 16368]Re: mailto送信時の文字化け" において、
   ""KiyohitoTanaka" <tanaka-tec @ masecon.co.jp>"さんは書きました:

> 田中@MCと申します。
> 
> 様々にご解説いただけてありがとうございます。
> しかし、まだ解決しないのです。
> 
> 状態を整理したいと思います。
> 
> ・PHPにてHTMLスクリプトを生成している
> ・HTMLの文字コードはEUC-JPとしている
> ・『<a href="mailto:add @ domain?subject=タイトル&body=本文">メール送信</a>』
> というスクリプトが書き込まれている。実際はアドレス、タイトル、本文共変数を
> 使っていて代入している(関係ないかな?)。
> ・ブラウザ(とりあえずIE6とします)でページを表示させると『メール送信』という
> 文字がクリッカブルになっている
> ・上の文字をクリックするとメーラーが立ち上がる(とりあえずOUTLOOK2000としま
> す)
> ・メール作成窓が開いて、デフォルトのアドレス、タイトル、本文欄にデータが入れ
> られているが、タイトル、本文欄は化けてしまっている
> (アドレスはアルファベットなので化けていないのだと思われる)
> 
> 以上の流れなのです。
> 
> どこをどうエンコードすればメール作成画面に正常にデフォルト表示がされるのか迷
> 路に入ってしまっているのです。
> やはりページ自体をJISコードで作成する必要があるのでしょうか?
> 
> すみませんが、よろしくお願いしますm(_ _)m

------------------------------------------------------------
Katsuhiro Saito(齊藤 勝弘)                  株式会社テルヤ
katsuhiro @ teruya.co.jp          モバイルソリューション開発部


PHP-users メーリングリストの案内