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

2009年04月04日 20時47分 正午の月齢:8.8  月名:九日月  潮汐:小潮 月齢:8.8[九日月] 潮汐:小潮
(最終更新日:2019年09月04日)
16年前に投稿 | ウェブ・IT関係 | コメントはありません

2分ぐらいで読めます。

この記事は情報が古い場合があります。

お問い合わせフォームに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とともに使用)

古い記事・新しい記事

古い記事 [2009年03月22日]
新しい記事 [2009年06月21日]

コメントはありません

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

Translate »