無料で作れるMyフォームクリエイター

フォームの文字化けを防ぐUTF-8の基本

最終更新日: 2025年10月3日

フォームから送信された日本語が「????」や「eMA[EVC」のように意味不明な文字列になってしまう現象、それが「文字化け」です。これは、各所で「文字コード」の設定が統一されていないために発生します。

文字コードとは?

コンピュータは文字を直接理解できず、「あ」や「A」といった文字を数値の集まりとして処理しています。この「どの文字にどの数値を割り当てるか」という対応ルールが文字コードです。日本語環境では主に「UTF-8」「Shift_JIS」「EUC-JP」が使われますが、現在では国際的に標準である**UTF-8**に統一するのが一般的です。

文字化けを防ぐ3つの設定ポイント

文字化けを防ぐには、データの入り口から出口まで、すべてで同じ文字コード(UTF-8)を使う必要があります。

  • HTMLファイルの文字コード指定:HTMLファイルの``タグ内に、このファイルがUTF-8で書かれていることを明記します。これにより、ブラウザが正しく文字を解釈できます。
    <meta charset="UTF-8">
  • PHPスクリプトのファイル自体の文字コード:`inquiry.php`や`process.php`といったPHPファイル自体を、テキストエディタで保存する際に「UTF-8(BOMなし)」形式で保存する必要があります。
  • PHPスクリプト内での文字コード宣言:メール送信時など、PHPが内部で文字列を扱う際に文字コードを意識させるため、スクリプトの冒頭で `mb_internal_encoding('UTF-8');` を宣言しておくと、より確実です。

まとめ

文字化けは、**「HTML」「PHPファイル」「PHPの内部処理」の3ヶ所の文字コード設定をすべて`UTF-8`に統一する**ことで、ほぼ確実に防ぐことができます。Myフォームクリエイターは、すべてのファイルをUTF-8で作成・設定済みですので、安心して日本語をご利用いただけます。

Web制作者向け便利ツール