PHPのメールフォーム 半角カナを全角カナに変換
2009年04月04日 20時47分
月齢:8.8[九日月] 潮汐:小潮
(最終更新日:2019年09月04日)
17年前に投稿 | ウェブ・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日]
- ← Mebius MURAMASA MT1-H1Sのメモリ増設
- 新しい記事 [2009年06月21日]
- → フリー幼児フォント「いおりふぉんと」
他にも「ウェブ・IT関係」カテゴリの記事はいかがですか。
- ウェブサイトの訪問者数が50倍以上になった!!
- スレッドフロート型掲示板スクリプト(PHP・UTF-8・スマホ対応)
- Satellite J50にWindows2000を新規インストール。
- Firefoxのアドオン、Greasemonkeyの2ちゃんねる用スクリプトで、外部リンクがうまく開かなくなったのを修正してみた。
- 日本語と英数字の間のスペースが嫌い。
- Firefoxの拡張機能「uBlock Origin」で、XVIDEOSの消しにくい要素を消し去るフィルタの書き方。
- Microsoft「フォトストーリー3」で16:9のスライド動画を作る。
- ieserverが終わったので、DDNS nowを使い始めた。
- 「レジや金庫内のお金を数えるための計算フォーム」をPHP8に対応させてみた。
- ウェブサイトの適切な容量(ファイルサイズ)について、ちょっと考えてみた。