質問: PHPの勉強で問い合わせフォームを作成しています。 こちらのCSRF対策のコードを書いて実行したら、文字化けしました。 ``` // CSRF対策 if (!isset($_POST['token']) || $_POST['token'] !== getToken()) { exit('処理を正常に完了できませんでした'); } ``` それまでは正常に表示されていました。 原因は何でしょうか? 教えて下さい。 以下、長いですがコードです。 ``` お問い合わせフォーム お問い合わせフォーム お問い合わせ内容 ※必須 お名前 ※必須 ご連絡用Email ※必須 ```
回答: 保存するときに UTF-8 以外で保存されている可能性がありますのでご確認ください。 また 保存した文字コードが正しかったとしても エラーメッセージは文字化けすると思います。 ``` // CSRF対策 if (!isset($_POST['token']) || $_POST['token'] !== getToken()) { exit('処理を正常に完了できませんでした'); } ``` 上記のようにすれば一応回避できます。