« 少ない食事をモスで | メイン | 総合演習 »
2005年07月05日
MySQL 4.1 の日本語設定
現在 MySQL 3.x を使っていますが、今後は CentOS 4.1 に乗り換えるので、それに伴い MySQL 4.1.x を使うことになりそうです。
ソースコードから入れると柔軟に変更できるようですが、普通は RPM のをそのまま使うので、その設定でうまく使う方法を考えないといけない。
どの辺が変わったかは、他のページを見ていただくとして、とりあえず、設定が柔軟になったのです。あまりにも柔軟に設定できるようになってしまったので、初期設定では、日本語を扱いにくくなってます。
俺 UTF-8 をずっと使ってるもーん。という方は、そのままでもいけると思う。
僕は、昔(?)から EUC を使ってるんですよね。なので、なかなか UTF-8 に乗り換える機会が無い。ここで乗り換えようかと思ったのだけど、結局 EUC で行きそうです。
/etc/my.cnf の変更
[mysqld] old_passwords=1 default-character-set=ujis character-set-server=ujis [client] default-character-set=ujis [mysql] default-character-set=ujis [mysqldump] default-character-set=ujis
ちょっと、変更しすぎたかもしれないけど。こんな感じに変更してる。
Perl の DBD::mysql での呼び出し
$dbh = DBI->connect('DBI:mysql:table:host;mysql_read_default_file=/etc/my.cnf', 'user', 'pass');
コネクション毎に設定が変更できるなんて、知らなかった。
内部での保存形式が UTF-8 になった影響は、まだわかりません。後々調べないと。
【関連情報】
・MySQL 4.1 日本語環境設定方法 (キャラクタセット設定方法)
http://iandeth.dyndns.org/mt/ian/archives/000108.html
2005年07月05日 18:20 | Technology
トラックバック
コメント
それで結局どうなりました? 私は今、mysql-4.1.14にphpBBをインストールするのに手間取っています。4.0.26だとうまくEUC-JPでもいくのです。
一方、同じmysql-4.1.14でutf-8でb2evolutionもインストールしようとしているのです。どうすればいいんでしょう?
投稿者 頼 哲司 : 2006年04月14日 04:24
>> 頼 哲司 さん
セッション毎(プログラム上で)に my.cnf を指定しているためか、特にトラブルにあたっていません。
個別のアプリケーションは、開発元に問い合わせるか、他の方の使用事例を参照するのが良いと思います。
投稿者 ceekz : 2006年04月14日 05:40
ありがとうございました。今まで、googleで調べたのですがなかなかmysql4.1でb2evolutionを動かしている人がみつかりません。でもどこかにいるはずなので開発者に聞くのが正しいでしょう。あるいは日本語化しているサイトで聞くというのも。
投稿者 頼 哲司 : 2006年04月16日 07:25
phpBBのインストールは日本語版のフォーラムで聞くとやっている人がいました。b2evolutionは同じ要領で自分で出来ました。要はmysqlにmysql_connectで接続したら、mysql_query("SET CHARACTER SET ujis;", xxx);でキャラクターセットをサーバに教えてやればいい訳で変更箇所はphpBBは1つ、b2evolutionは3つしかありませんでした。
ありがとうございました。
投稿者 頼 哲司 : 2006年04月18日 00:29
>> 頼 哲司 さん
力になれませんでした…。
解決してよかったです。また、解決方法を記載していただきありがとうございます。
MySQL は、ちょっとずつ複雑になってきてますね…。バージョン 3.x は、結構シンプルだったのですが。
投稿者 ceekz : 2006年04月18日 02:52