MacにインストールしたMySQLに日本語を入れようとしたらエラーが出た

出たエラーはこれ

ERROR 1366 (HY000): Incorrect string value

 

検索すると、どうやら文字コードの設定が原因でエラーが出ているらしいということがわかった。

 

MySQL文字コードがどうなっているかを確認するには、

mysql> show variables like 'character_set%';

 ってやると、こんなんでてくる。

f:id:ex02xx:20130501214846p:plain

 

お、latin1ってなってるとこがある。これがutf8になればいいらしい。

どうやって設定を変更するかは、/etc/my.cnfファイルをいじる。my.cnfファイルが無い場合は、インストールしたmysqlの中に*.cnfファイルがあるのでそいつをコピって/etcに置くといい。自分の場合は、usr/local/mysql/support-filesにmy-default.cnfってのがあったのでそいつをコピって以下の文を追加した。

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

すると、latin1がutf8になった。

f:id:ex02xx:20130501214854p:plain

参考にしたどのページにも、追加するコードが数行あったんだけど、いくつか意味することが理解できなかったんで、なんかこれは要るかなって思った2行だけを書込んだら文字コード変更できた。……変更できたからいいけど、これで大丈夫なのかな? 他も追加した方がいいのだろうか?

 

 

参考にしたページ

Mac OS X Lion MySQLの文字コード設定 | HAPPY*TRAP 

MySQL 5.1 で文字コードを設定 ( UTF-8 ) - Mac OS X v10.5 で web アプリ開発 

しろねこらぼ : MacにMySQLを入れた後に 文字化けとutf8 

MySQL 文字化けを防ぐ、文字コードの確認と設定 | 渋谷生活 

 

 

問題な日本語―どこがおかしい?何がおかしい?

問題な日本語―どこがおかしい?何がおかしい?

[閉じる]