にわかオタクによるにわか忘備録

にわかなオタクの試行錯誤を忘備録的にまとめているブログです.にわかなのでやってる事が全体的にお遊び感ある&所々誤りがあるのは否めませんが,生暖かい目で見ていただければと思います.

finkで導入したMysqlで日本語を扱うのに少し苦労した話

Mysqlサーバを導入したはいいものの,扱いたいデータに日本語があるにも関わらずデフォルトでは文字コードutf-8でなくlatin1となっておりうまく扱えない問題が発生.

よくある問題らしく,例によってググると大量の情報が引っかかる引っかかる.

しかしここで疑問が発生.my.cnfを編集すればいいことが分かったけどコレは果たしてPCに入っているのか?

$ sudo find /sw -name '*.cnf' -ls

5323679       16 -rw-r--r--    1 root             admin                4948 10 17  2015 /sw/share/mysql/my-huge.cnf

5323680       48 -rw-r--r--    1 root             admin               20949 10 17  2015 /sw/share/mysql/my-innodb-heavy-4G.cnf

5323681       16 -rw-r--r--    1 root             admin                4924 10 17  2015 /sw/share/mysql/my-large.cnf

5323682       16 -rw-r--r--    1 root             admin                4931 10 17  2015 /sw/share/mysql/my-medium.cnf

5323683        8 -rw-r--r--    1 root             admin                2502 10 17  2015 /sw/share/mysql/my-small.cnf

5324476        8 -rw-r--r--    1 root             admin                  44 10 17  2015 /sw/share/mysql/mysql-test/std_data/bug15328.cnf

5324534        8 -rw-r--r--    1 root             admin                 260 10 17  2015 /sw/share/mysql/mysql-test/std_data/ndb_config_mycnf1.cnf

5324535        8 -rw-r--r--    1 root             admin                 641 10 17  2015 /sw/share/mysql/mysql-test/std_data/ndb_config_mycnf2.cnf

入ってない…(白目)

そこでもっかい色々ググってみたら/sw/share/mysql/my-medium.cnfを/etcにコピー&名称変更して使えばいい事が判明.やってみる.

cp /sw/share/mysql/my-medium.cnf /etc/my.cnf

でmy.cnfファイルがようやく出来る.やったー.

この後はmy.cnfの[client]と[mysqldump]と[mysql]に

default-character-set=utf8

[mysqld]に

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

を書き加えた後,

sudo /sw/share/mysql/mysql.server restart

Mysqlサーバを再起動.その結果…

mysql> show variables like "chara%";

+--------------------------+---------------------------+

| Variable_name            | Value                     |

+--------------------------+---------------------------+

| character_set_client     | utf8                      |

| character_set_connection | utf8                      |

| character_set_database   | utf8                      |

| character_set_filesystem | binary                    |

| character_set_results    | utf8                      |

| character_set_server     | utf8                      |

| character_set_system     | utf8                      |

| character_sets_dir       | /sw/share/mysql/charsets/ |

+--------------------------+---------------------------+

8 rows in set (0.00 sec)

やったーーーーー!!!!!これで思う存分日本語のデータブチ込めぞ〜〜〜〜〜〜〜〜!!!!!