======================================
Windows XP
Apache 2.0
PHP 5.2.5
MySQL 5.0.51a
phpMyAdmin 2.11.4
======================================
①mysqlの文字コードを確認
mysql> mysql -u root -p
Enter password:
mysql> SHOW VARIABLES LIKE 'char%';
/* プロンプト */
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
/* phpMyAdmin */
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
※プロンプト と phpMyAdminで確認すると違いがある
②C:\xampp\mysql\bin\my.cnf の [mysqld]に
default-character-set = utf8 追加
/* プロンプト */
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
/* phpMyAdmin */
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_set_database」と「character_set_server」が utf8 になるも、プロンプト と phpMyAdminではまだ違いがある
③C:\xampp\mysql\bin\my.cnf の [mysql] に
default-character-set = utf8
を追加
※プロンプト と phpMyAdminで確認するが変化なし
④C:\xampp\mysql\bin\my.cnf の [mysqld]に
skip-character-set-client-handshake 追加
/* プロンプト */
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
/* phpMyAdmin */
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_set_client」、「character_set_connection」、「character_set_results」が utf8 になり、プロンプト と phpMyAdminが同じになる
skip-charcter-set-client-handshakeは、MySQLクライアントなどの文字コードをMySQLサーバ(mysqld)で設定した文字コードに、無理やり統一するものです。私の環境では、skip-character-set-client-handshakeを記述しないと、character set client等の一部の変数がLatin1のままで、utf8になりませんでした。(何でだろう)
④"C:\xampp\mysql\bin\my.cnf "を書き換えた後にその設定を有効にするには、MySQLを再起動する必要がある。
xampp コントロールパネルでMySQLを restart
0 件のコメント:
コメントを投稿