やっとSJISで統一させる方法がわかりました。以前の日記と重複しますが、ここにまとめておきます。
自分のWindowsパソコンにXAMPP(xampp-win32-1.5.1)をインストールして、Webアプリケーション開発を体験する環境を作ります。
1.XAMPPをインストール(既に情報があるので省略します。XAMPP+インストールで検索すれば色々ヒットします)
2.httpd.confを修正(IISを起動していない人はこの項は不要です)
- \XAMPPインストールディレクトリ\xampp\apache\conf あるhttpd.confをメモ帳で開く。以下を編集して保存する。
- Listen 80 → Listen 8080
- ServerName? localhost:80 → ServerName? localhost:8080
- LoadModule? ssl_module modules/mod_ssl.so → コメント化(先頭に#を挿入する)
- Include conf/extra/httpd-ssl.conf → コメント化(先頭に#を挿入する)
3.php.iniを修正
- \XAMPPインストールディレクトリ\xampp\apache\bin あるphp.iniをメモ帳で開く。以下を編集して保存する。
- ;mbstring.language = Japanese → コメントアウト(先頭の;を削除する)
- ;mbstring.internal_encoding = EUC-JP → コメントアウト(先頭の;を削除する)し、EUC-JPをSJISに変更する。
- ;mbstring.http_input = auto → コメントアウト(先頭の;を削除する)
- ;mbstring.http_output = SJIS → コメントアウト(先頭の;を削除する)
4.my.cnfを修正(ここを今回追加しました)
- \XAMPPインストールディレクトリ\xampp\mysql\bin あるmy.cnfをメモ帳で開く。以下を編集して保存する。
- character-set-server = latin1 → sjis
- collation-server = latin1_general_ci → sjis_japanese_ci
- 上2行の下にskip-character-set-client-handshakeを追加する。
今回、4項目で追加した上2行で、mysqlサーバーのデフォルトの漢字コードを設定します。MySQLのオンラインマニュアルにちゃんと説明がありました。これで、phpmysqladminでデータベースやテーブルを作成したときに使用する漢字コードがSJISになります。データの参照も入力も問題なくなります。3行目のskip-character-set-client-handshakeを設定すると、mysqlクライアント(コマンドラインのmysqlコマンドやphpプログラム)がmysqlサーバーと接続するときの漢字コードをサーバーの漢字コードに合わせるコマンドとのことです。この情報はここを参照させてもらいました。
とりあえず、これで開発環境の準備はOKです。