2007年11月の記事

2007年11月の記事一覧です。

開発環境のMySQLを4.0から5.0へバージョンアップしたところ、いろいろな箇所で文字化けが発生しました。その対処法を備忘のため記録しときます。

バージョンアップ自体はインストーラなりaptなりで一発ですが、MySQL 4.1のどこかのバージョンから、クライアントからの文字列のキャラクタセットをサーバ側が自動的に変換してくれるというステキ(余計?)な機能が実装されたため、設定ファイルに追加が必要です。

具体的には、MySQLの設定ファイルmy.cnf (Windows系OSならmy.ini)のmysql, mysqld, mysqldumpの各設定項目default-character-setの値として、デフォルトの文字コードにEUC-JPを利用するのであればujisを、UTF-8ならutf8、Shift_JISならsjisを指定します。

» 続きを読む

MySQLで検索条件にヒットするレコードを1件だけ取得したい場合、limitを利用します。Oracleならrownum、新しめのSybaseならtopなどですね。これらの条件句の詳細は割愛しますが、これらの違いはマルチプラットフォーム化の障壁になります。

そこで、JDBCの出番です。素晴しいことに、Statement#setMaxRows()というメソッドが用意されています。引数に取得する件数を渡すだけで、limitやrownumなどのRDB間の差異をJDBCが吸収してくれます。例えばこんな感じです。

» 続きを読む