MySQL4.0 向けのソースを MySQL4.1 以降で動かすには
MySQL4.0 以前から MySQL4.1 以降への切り替えは、データベースの文字コードの扱いが変更になり、標準のRPMパッケージのインストールのままでは文字コードに起因する問題が多い。
MySQL4.1 以降、標準で格納されるデータは全てUTF-8に統一されているようです。PHPなどで MySQL4.1 以降向けに考慮されていないプログラムでは、読み書きがまともに動かず、日本語が全て ??? となる場合が多いようです。以下のコードを追加すれば、動く可能性が高いです。
phpソースで、mysql_connect の部分を探す。コネクトのすぐ下か、エラーチェックしている部分の下などに追加する。
if (mysql_get_server_info() >= 4.1) {
mysql_query("SET NAMES ujis");
}
■MySQLへのコネクションが成功した後、文字コードをMySQLに教えてやることで、その後のやり取りはこの例の場合全て ujis(Linux での EUC)となります。