• 締切済み

MySQL文字コード

DB情報をHTMLで表示する場合に、mb_convert_encoding()で指定する文字コード MySQL5.1 PHP5 HTML - shift_jis MySQL の文字セット UTF-8 Unicode (utf8) MySQL の接続照合順序: ujis_japanese_ci フィールドの照合順序 ujis_japanese_ci PHPプログラムでDB情報取得後にSJISに変換 mb_convert_encoding($String, "SJIS", "●●●"); ●●●の文字コードを何を指定すればいいのかがわかりません。 EUCを書くとうまくいってるような気もしますが、なぜEUCでうまくいく のかもわかりません。 ご教授下さい。

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

mysql> STATUS; を実行して、下記項目のチェックしてみてください Server characterset Db characterset Client characterset Conn. characterset

回答No.1

mysql5.1には、クライアントハンドシェイクといったような機能があります。 つまり DBの文字コードを、接続してきたクライアントの文字コードに自動変換するという機能になります。 ●●●をEUCにするとうまく行っているというのであれば、クライアント(つまりPHP5)がインストール時点でEUCを使用しているということになります。 PHP5のデフォルト文字コードというのは質問者さんが作成しているPHPのファイルの文字コードとは別のものになる為、発生していると思われます。 回避方法としてはmysqlのオプションに、 --skip-character-set-client-handshake というものがありますので、これを設定ファイルに記述するというところになります。

関連するQ&A