今までLinux環境で実験してきたので、Webアプリケーションを作るにしても、MySQLにせよ、Rubyにせよ、ある意味、標準的な使い方が多かった。
Webアプリケーション開発の授業では、サーバ・開発環境ともにWindows環境のみで実現する。とくれば、phpソースもMySQLもphpmyadminもShift_JISで統一したくなる。
php.iniの設定は、ネットで調べながら解決できたが、問題はMySQLとphpmyadminだ。それでも、mysqlコマンドでcreate tableとinsertをした日本語データは問題なくphpで表示できた。となれば問題はphpmyadmin。明日も引き続き調査する。
この調査で1つ収穫が。
「Eclipse3ではじめるPHP5プログラミング入門(Link)
」という私も持っている書籍のネット情報にxampp環境におけるMySQLのiniファイルの補足説明があった。
my.iniは、xamppインストールディレクトリ\xampp\mysql\bin\my.cnfにあるとのこと。全くその通りで、ありました。これに文字コードを設定することができそう。
追記
my.cnfは関係なかった。「愛と苦悩の日記(XAMPP上のPHP+MySQL文字化け解決)(Link)」に従って設定したところ、Shift_JISで統一できることが確かめられた。ただ、SELECT前に必ず「$result = mysql_query("SET CHARACTER SET SJIS;");」を実行しなければならず。。。何とかならないものか。。。
以下、自分メモ。成功したPHPソースと実行結果。
PHPソース
";
$con = mysql_connect("localhost","root","");
$result = mysql_query("SET CHARACTER SET SJIS;");
$result = mysql_db_query("test","select name from test");while($row = mysql_fetch_row($result)) {
foreach($row as $value) {
echo $value."
";
echo mb_substr($value,2,1);
}
}mysql_close($con);
?>
実行結果
あ
たかはし
は
最後に
データベースを作成するときに「照会順序」を「sjis_japanese_ci」にすることを忘れずに。