テスト期間中なのですが、まぁなんだかモチベーションが下がってるのでとりあえずPCの前でくだらないようなことでもしておこうかと思いながら、ずいぶん前に立てておいた勉強用のサーバーを起動させてAndroidでもデータベース使うし、データベースの勉強をしていてつまずいたところを今回はメモしていこうと思います。
mysql>show variables like 'char%';
でまずは今使われている文字コードを確認。自分のはこんな感じになっていました。
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
sudo vi /etc/mysql/mysql.cnf
から
[client]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
を追記。
んで再起動。再起動のコマンドはこれです。rootで
/etc/init.d/mysql restart
そしてMySQLの文字コードを再び確認。んで出てきたのがこちら。
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
character_set_database | latin1 、character_set_server | latin1 。。。。。
くそ。完全には除き切れなかったか。。。
めんどくさいですが個別に対応します。
mysql>set character_set_database = utf8;
mysql>set character_set_server = utf8;
を実行。もう一度確認。
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
よし。全部対応出来ました。
実際全部setでやればいけるちゃあいけるんでしょうね。
ではでは。