memo_mysql

Standard
memo_mysql

RoRでWEBアプリケーションを作ってみようっていう勉強中のメモ。忘れないうちに。今回はMySQL。
 
つまずいたのは、rake db:fixtures:loadでDBに入れたデータが字化けするっていうところ。
 
 
自分はEcripse + Aptana + RadRailsという環境なので、Rakeタスクから”db:fixtures:load”を選択して実行。phpMyAdminから追加したデータを見ると日本語の文字列が??????になってる。MySQL の文字セットはもちろんutf8。データを取り込んだ.ymlファイルもエンコードはutf8。なんじゃいっつってググったら、ソッコー見つかった。
 
[MySQL] 文字化け問題を本気で直す
 
 
作ったプログラムを動かしてみてもちゃんと表示はされるっていうのが滑稽なんだけど、↑の説明がすごいわかりやすかった。自分はwin環境なので、my.ini (Linuxなら/etc/my.cnf)に

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

を足して、もう一回データベースを作りなおせばオッケー。
mysql> show variables like ‘char%’;
ってやって↓みたいになってればとりあえず大丈夫みたい。
 
screenshot

screen shot

 
 
ちなみにwinのコマンドプロンプトからselect文で表示させるともちろん化けるので、
set names sjis;
って一回やってからselect。
 
 
いやー、オリジナルアプリ遠いなしかしーw
 
 

Technorati Tags: , , ,

Facebook comments:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>