フォームメール文字化け対策

 こんにちは。
当サイト管理人のAsterismです。

 本日、お名前.comレンタルサーバーで用意されている簡易CGIのフォームメールを使用し、お問い合わせフォームを設置しました。

 設置方法はお名前.comレンタルサーバー「フォームメール:Web設定 | コントロールパネル | 共用サーバーSD 活用ガイド」

 しかし、そのままWordPress固定ページに設置してしまうと文字化けが発生してしまいますので、なぜ文字化けが発生するのか、そしてその対策方法を記載します。

文字化け発生原因

フォームメール文字化け
 WordPressで使用されている文字コードは「UTF-8」です。
ソースを見ていただくとわかりますが、<meta charset="UTF-8" />と記載されてます。

 しかし、簡易CGIのフォームメールの文字コードは「Shift-JIS」専用なんですね…
この文字コードの不一致が文字化けの原因です。
簡易すぎるにもほどがあります!

文字化け対策方法

 文字化けを発生させないようにするために、UTF-8からShift-JISから変換すればよいのです。
WordPressで使用されている文字コードはUTF-8のままでよいです。
フォーム送信時にUTF-8からShift-JISに変換する処理を入れます。
「onclick="document.charset= 'Shift-JIS';」をフォームの送信ボタンに入れると変換してくれます。

以下例:
<input type="submit" value="送信" onclick="document.charset= 'Shift-JIS';" >

フォームメール文字化け修正
これで文字化けが起こらなくなりました!
フォームメールの文字化けで悩んでる方もこの方法でおそらく文字化けが起こらなくなると思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


上の画像に表示されている英数字を入力してください *

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>