PHPからMySQLを操作したらはじめ文字化けを起こした。
よくよく調べたら、MySQL4.1から文字コードの体系が変わったらしい。
そこで、PHPのコードを変更しないで日本語環境にする方向を探った。
ちなみに、動作環境はFedora Core4をつかった。
サーバーマシンがLinux系なので、Shift_JISはあきらめEUC-JP(UJIS)を選択。
MySQLの設定
1.my.cnfファイルをエディターで開く。
2.[client]と[mysqld]に以下を追加する。
default-character-set=ujis
3.コマンドラインから以下のコマンドを打つ
mysql> SET NAMES ujis;
PHPの設定
1.php.iniをエディターで開く。
2.output_buffering = Offにする。
3.default_charset = EUC-JPにする。
4.mbstringのところを;をはずし、以下のようにする。
mbstring.language = Japanese
mbstring.encoding_translation = On
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.internal_encoding = EUC-JP
mbstring.substitute_character = none
こんな感じで、日本語環境が使えるようになるはず。
phpMyAdminからの操作でも文字化けを起こさなくなったので一安心だ。
よくよく調べたら、MySQL4.1から文字コードの体系が変わったらしい。
そこで、PHPのコードを変更しないで日本語環境にする方向を探った。
ちなみに、動作環境はFedora Core4をつかった。
サーバーマシンがLinux系なので、Shift_JISはあきらめEUC-JP(UJIS)を選択。
MySQLの設定
1.my.cnfファイルをエディターで開く。
2.[client]と[mysqld]に以下を追加する。
default-character-set=ujis
3.コマンドラインから以下のコマンドを打つ
mysql> SET NAMES ujis;
PHPの設定
1.php.iniをエディターで開く。
2.output_buffering = Offにする。
3.default_charset = EUC-JPにする。
4.mbstringのところを;をはずし、以下のようにする。
mbstring.language = Japanese
mbstring.encoding_translation = On
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.internal_encoding = EUC-JP
mbstring.substitute_character = none
こんな感じで、日本語環境が使えるようになるはず。
phpMyAdminからの操作でも文字化けを起こさなくなったので一安心だ。