• ベストアンサー

HTML+PHP→MySQLへデータ格納時の文字化け

HTMLでTEXTAREAフォームを作成し、 入力された文字をPHPでMySQLデータベースにデータを格納して 任意のWEBページで参照できる様にしたいのですが 特定の文字列だけ文字化けしてしまいます。 文字コードは全てSJISで行っているのですが データを受け渡しする際、変換されてしまうのでしょうか? phpMyAdminで文字化け部分を修正すると問題なく表示されます。 「予算」  →「落Z」 「予約時間」→「蘭ロ條ヤ」 どなたか解消法を教えて下さい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

予=975cですから、いわゆる5c問題ですね。 SJISを使わないというのが唯一の解決方法です。 あとは文字列を評価して、5cが含まれる漢字が あった場合は後ろに\をつける、つまり 「予算」->「予\算」とすることでなんとか 場当たり的に対応はできますが、コードは 煩雑になるためお勧めはできません。

その他の回答 (1)

回答No.2

全て解決というわけにはいきませんが、 stripslashes() 関数を使うと大体解決できます。 たとえば、HTMLからPOSTで「HTML_POST_DATA」という名前の変数を送る場合、 $data=stripslashes($_POST["HTML_POST_DATA"]) とするとよいです。

関連するQ&A

専門家に質問してみよう