【PHP】mailtoのsubject文字化けについて | DiceKeyのチラシの裏

【PHP】mailtoのsubject文字化けについて

ソースの文字コードがEUC-JPの場合、mailtoのパラメータsubjectに変数を使用すると

ブラウザによっては文字化けを起こす場合がある。

 

 $subject = "DieKeyのチラシの裏";

 <a mailto:dicekey@hotmail.co.jp?subject="<?=$subject ?>">

 

その場合、mb_convert_encodingで文字コードを変換した後、さらにurlencodeすれば大丈夫っぽい。

 

 $subject = "DieKeyのチラシの裏";

 $subject = mb_convert_encoding($subject,"SJIS","EUC-JP");

 $subject = urlencode($subject);

 <a mailto:dicekey@hotmail.co.jp?subject="<?=$subject ?>">

 

文字コードの影響は予想してたけど、さらにurlencodeをかますとは想像もしなかった…。

プログラムっていうほど大層な部分じゃないけど、解決策に辿り着くまで何気に苦労しました。

未熟。