PHPのメールフォーム 半角カナを全角カナに変換

2009年04月4日 正午の月齢:8.8  月名:九日月  潮汐:小潮 月齢:8.8[九日月] 潮汐:小潮 | 9年前 | 旧暦:2009年03月09日 | 大安
ソフトウェア | コメントはありません

この記事を読むのに必要な時間の目安: 2分ぐらい

この記事は8年以上前のものです。情報が古い場合があります。

お問い合わせフォームにPHPを使っていて、メールで飛んでくるように設定しているんですが、先日自分宛に実験として半角カナを含めた文章でメールを送ってみたら、受信したメールでは半角カナが???のようになっていました。このメールフォームでも半角カナは文字化けするんだって、初めて気がつきました・・・。

というわけで、半角カナを全角カナに変換してしまいましょう。PHPメールフォームを改造です。mb_convert_kana関数を使って、半角カナを全角カナに変更します。

$name = $_POST["name"];
$email = $_POST["email"];
$cat = $_POST["cat"];
$message = $_POST["message"];

と、元々記述されていたのですが、これを

$name2 = $_POST["name"];
$name = mb_convert_kana($name2,"sKV");
$email = $_POST["email"];
$cat = $_POST["cat"];
$message2 = $_POST["message"];
$message = mb_convert_kana($message2,"sKV");

とし、変換を噛ませます。

これで半角カナを入力されても問題なくメール受信できるようになりましたー。

ちなみに、mb_convert_kana関数のオプションは以下のとおりです。

r 全角英字→半角英字
R 半角英字→全角英字
n 全角数字→半角数字
N 半角数字→全角数字
a 全角英数字→半角英数字
A 半角英数字→全角英数字
s 全角スペース→半角スペース
S 半角スペース→全角スペース
k 全角カナ→半角カナ
K 半角カナ→全角カナ
h 全角ひらがな→半角カナ
H 半角カナ→全角ひらがな
c 全角カナ→全角ひらがな
C 全角ひらがな→全角カナ
V 濁点つきの文字を1文字に変換 (K、Hとともに使用)

関係あるかも知れない記事

前の記事・次の記事

前の記事
<<
次の記事
>>

この記事のトラックバックURL

http://susu.cc/2009/04/php-convert.html/trackback

コメントはありません

ごめんなさい、コメントフォームは閉鎖しています。