======================================
Sent
Apache 2.0.63
PHP 5.2.5
MySQL 5.0.51a-community
phpMyAdmin
======================================
①mysqlの文字コードを確認
# mysql -u root -p
Enter password:
#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で確認すると違いがある
②/etc/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ではまだ違いがある
③/etc/my.cnf に
[mysql]
default-character-set = utf8
を追加
/* プロンプト */
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が同じになる
④データを登録してみる。
1、まず、phpMyAdminからデータを登録。
phpMyAdmin上では正常に表示されるがサイト上では文字化け。
2、サイトからデータを登録。
サイト上では正常に表示されるがphpMyAdmin上では文字化け。
※サイトの文字コードもutf8にしているがなぜだろう。。。
⑤/etc/my.cnf の [mysqld]に
init-connect=SET NAMES utf8 追加
※問題解決。
phpMyAdmin、サイトでデータを登録して文字化けが解消された。
⑥"/etc/my.cnf"を書き換えた後にその設定を有効にするには、MySQLを再起動する必要がある。
# /etc/rc.d/init.d/mysql restart
Shutting down MySQL.. [ OK ]
Starting MySQL.. [ OK ]
一般的な方法
/etc/init.d/mysqld restart...MySQLデーモンの再起動
/etc/init.d/mysqld start...MySQLデーモンの起動
/etc/init.d/mysqld stop...MySQLデーモンの停止
0 件のコメント:
コメントを投稿