[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 メーリングリストの案内