- 締切済み
PHP+MySQL エンコード
文字コードについて教えて下さい。 データベースMySQL の文字セット: UTF-8 Unicode (utf8)に固定。 htmlはSIFT-JISで表示。 フォームで受けとったデータをPHPからDBに書き込む場合 i18n_convert($data,"UTF-8", "SJIS"); をして書き込めば問題ないでしょうか? DBがEUCの場合は問題なかったのですが、UTF-8は初めて 扱うため、文字化けの不安があります。 いまいち、文字コード(バイト数の違いなど)が理解できておりません。 ご教授お願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
シフトJISを使う限り、どうやっても例の5C問題をはじめとする インジェクションで無理がでます。 本質的な問題解決にはシフトJISを排除するしかありません。 とはいえ動作環境にも制限があることでしょうからどうしてもということであれば mb_convert_encoding()で対応することになるでしょう http://www.php.net/manual/ja/function.mb-convert-encoding.php ちなみにi18n_convert()って、jcode.phpsですよね? 前時代的な仕組みですが、いったい何を参考になさっているのでしょう? あまりふるいPHPだと、致命的なバグが内在している可能性もあります。