こんにちは。
当サイト管理人の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';" >
これで文字化けが起こらなくなりました!
フォームメールの文字化けで悩んでる方もこの方法でおそらく文字化けが起こらなくなると思います。