行く記憶の流れは絶えずして

戻ってこないのでメモするところ

mysqlの文字コード

データベースを別の所から移植するに際し、文字コードを調べてみたら変なことに。

[text]

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/ |

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

8 rows in set (0.00 sec)

[/text]

latin1ってのが色んな所にいるのでutf8に統一したい。

ここを参考に/etc/my.cnfを編集

http://ext.omo3.com/linux/mysql_character_set.html

[text]

[client]

default-character-set=utf8

[mysqld]

default-character-set = utf8

skip-character-set-client-handshake

character-set-server = utf8

collation-server = utf8_general_ci

init-connect = SET NAMES utf8

[/text]

で、mysqlを再起動

[text]

mysql> show variables like 'char%';

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

| 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/ |

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

8 rows in set (0.00 sec)

[/text]

すっきり。

ちなみに、wordpressは各テーブルにおいて

[text]

DEFAULT CHARSET=utf8

[/text]

としていたので影響ありませんでした。さすがですね。

上記はmysqldumpのファイルを覗いたら見つけた記述で、一応データも

[text]

nkf --guess mysqldumpのファイル

[/text]

でチェックしたら、utf8(LE)で問題なし。