MySQLの文字化け対応
(1)InstantRailsのmy.ini修正
(2)set names実行
(3)対象のデータベースを作成する
以下詳細
(1)InstantRailsのmy.ini修正
InstantRails\conf_files\my.iniに以下追加
[mysqld] datadir=${path}/mysql/data basedir=${path}/mysql bind-address=127.0.0.1 default-character-set=utf8 ←コレ
この時点でキャラセットをみてみると
mysql> show variables like "char%"; +--------------------------+-----------------------------------+ | Variable_name | Value | +--------------------------+-----------------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\INSTAN~1\mysql\share\charsets\ | +--------------------------+-----------------------------------+
(2)set names実行
MySQL独自の文字コード設定コマンドらしい。コマンドクライアント起動して、SQLプロンプトから投入。
mysql> set names utf8; Query OK, 0 rows affected (0.00 sec) 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 | C:\INSTAN~1\mysql\share\charsets\ | +--------------------------+-----------------------------------+
(3)対象のデータベースを作成する
既に作成済みの場合は再作成。
(4)コマンドクライアントからSQL投入
その際には事前に以下投入しておく。
SET character_set_client = sjis; SET character_set_connection = utf8; SET character_set_results = sjis;