- 2007-04-25 (水)
- Ruby on Rails
Rails + MySQL にて始めて、思いっきり躓いたのが「文字化け」でした。
初心者への最初のこのハードルは、解決するのに約3日間かかりました。。。
以下のサイトで対処方法を教えてくれています。
問題になっていたのは、Railsではなく、MySQLの文字コードでした。
最初疑ったのは、Rails上での何か設定の問題がないか、ということ。
ネットと本で調べてみると、文字化けが出ている人が非常に多かった。
ただ、そこで出ていたRails上への対処方法を全て試してみたけど
全く解決せず。。
その流れで、MySQLについて触れている方がいましたので、
調べていくと、上記のサイトに見つかりました。
直りましたよー!本当に嬉しい。
モニターがちょいにじみましたよ。。ホント。。
ただ、初心者の僕にとって、上記の中で分からない箇所が1つありまして
そこについて、どうやったかを以下に記載します。
それは、「/etc/my.cnf の設定」という箇所。
これは、RailsとかMySQLとかではなく、UNIXというものを少し
理解する必要があるようでした。
参考にしたサイトと本は以下です。
「MySQL 文字化けを防ぐ、文字コードの確認と設定」にて、
/etc/my.cnfが無いときは
インストールしたMySQLの中のサンプルをコピーする。
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
とありました。
なので、Terminal上で、まず
$ cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
を入力します。
UNIX上で「cp」はコピーを意味するそうです。
そして、上記のコマンドは
「/usr/local/mysql/support-files/」という階層にある
「my-medium.cnf」というファイルを「/etc/」という階層の中に
「my.cnf」というファイルとしてコピーということになるようです。
これを入力後、「etc」というディレクトリに移動します。
$ cd /etc
そこで、そのディレクトリにあるファイルの一覧を見ることができる
コマンドの「ls」を入力すると、ずらーっと、ファイル一覧が表示されます。
$ ls
その一覧の中に「my.cnf」があることを確認します。
そして次に、この「my.cnf」というファイルの内容を見ます。
$ cat my.cnf
「cat」というコマンドは、指定したファイルの内容を表示するコマンドです。
これを入力すると、ずらーっと100行以上の内容が表示されます。
次に、そのファイルの内容を編集する訳ですが、それには「vi」というのを
使用します。
※「vi」についてはコチラがよさそうです。
僕は先ほど紹介した、「たのしいUNIX—UNIXへの招待」を見ながらやりました。
$ vi my.cnf
と入力し「Entere」を押します。
E325: ATTENTION
・・・・
-- More --
と表示されますので、そのまま「Enter」を押します。
すると「-- More --」の箇所が「[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (D)elete it:」と
なりますので、キーボードの「e」を押します。
「e」を押したら、my.cnfのファイルの一番上から表示されます。
これで、その内容を編集できるようになります。
スクロールは、キーボードの「↓」を押すと行けます。
[mysqld]の箇所に、先ほどのサイトにあったように
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
を入力します。
そして、「esc」を押すと、再度コマンド入力モードになりますので、
「:w」を入力します。
そうすると「"my.cnf" 158L, 4979C written」が表示されます。
次に、viを終了するための「:q」を入力します。
念のため、「$ cat my.cnf」を入力し、先ほど入力した内容が反映されているか確認します。
反映されていたら、「从・ゥ・从<とか言ってw:文字化け問題を本気で直す」に戻り
続きをそのまま行います。
これで、直ると思います。
初心者にとっては、UNIXのコマンドとviのコマンドをある程度覚えないと
いけないなぁと思った文字化けの出来事でした。。
しかし直って本当に嬉しいよぉ。。。
- ご意見、ご感想などはコチラへどうぞー
- Newer: 「ライド・オン・Rails」のサンプルソースのダウンロードと正誤表
- Older: MySQLの「#42000Access denied for user ''@'localhost' to database 'sample'」というエラー
Trackback:0
- TrackBack URL for this entry
- http://yukaigi.com/cgi/mt/mt-tb.cgi/260
- Listed below are links to weblogs that reference
- Rails + MySQL の文字化けが直った! from 愉快議 ~実践塾~