CentosのMySQLで文字化けに苦しんだら...

/etc/my.confに

default-character-set = utf8
skip-character-set-client-handshake

も追加した。

mysql> show variables like 'character_set%';

とやっても文字コードはutg8のはず...


むろん、

mysql> status
--------------
mysql  Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (i686) using readline 5.0

Connection id:          2
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.45 Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 1 min 38 sec

Threads: 1  Questions: 4  Slow queries: 0  Opens: 12  Flush tables: 1  Open tables: 6  Queries per second avg: 0.041
--------------

こうなっている!という方。


ここれが最後の答えかも。

以下の方法でコード上からMySQLの文字コードを取得する。

=========================================
#!/usr/bin/ruby -Ku

require 'mysql'

my = Mysql.init()
my.real_connect("localhost", "user", "password", "DBname")
p my.character_set_name()
=========================================

結果:"latin1"らしい。


mysql_options()のパラメータで文字コードを設定できるらしい。

=========================================
#!/usr/bin/ruby -Ku

require 'mysql'

my = Mysql.init()
my.options(Mysql::SET_CHARSET_NAME, "utf8")
my.real_connect("localhost", "user", "password", "DBname")
p my.character_set_name()
=========================================


けいさん、ありがとうございました!
けいの開発記録



追記:
成果物公開しました。
芸能人ブログで紹介されている商品が検索できるサイト | セレブログ