MySQL5.5 コマンドライン文字化けに対するmy.iniへのutf8設定で6時間格闘の末敗北 田口さん助けて
create table entries ( id int not null auto_increment primary key, name varchar(255), email varchar(255), memo text ) default charset=utf8;
1.テーブル作る
2.htmlフォームから入力してデータ格納する、される
3.英語だけだと問題ない
4.日本語化ける
+----+-----------+-----------+-----------+
| id | name | email | memo |
+----+-----------+-----------+-----------+
| 1 | sdf | sdf | ��� |
+----+-----------+-----------+-----------+
5.chcp 932でSHOW VARIABLES LIKE 'char%';
character_set_client | cp932 |
character_set_connection cp932 character_set_database utf8 character_set_filesystem binary character_set_results cp932 character_set_server utf8 character_set_system utf8 character_sets_dir C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\
6.my.confがない
7.my.iniいじる
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqldump] ←この項目はなかった
default-character-set=utf8
[mysqld]
character_set_server=utf8
skip-character-set-client-handshake
8.この辺で「skip-character-set-client-handshake」をコメントアウトしたら「あsd」とかが文字化けされず表示され、歓喜のつぶやき。新たにデータ投稿すると文字化け。現実逃避することにする。
9.2時間逃げた後、再度調べだす。
10.「コマンドプロンプトはSJISだからそもそも日本語は表示されないんだようんぬんかんぬん」の記載に胸踊る。
11.CHCP 65001でSHOW VARIABLES LIKE 'char%';
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
12.status
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
13.CHCP 65001で表示
id | name | email | memo |
- +
1 | sdf | sdf | ��� |
14.田口さんは表示されるのに
http://dotinstall.com/lessons/contacts_php/2713
15.chcp 932で表示 なんで???
1 | sdf | sdf | さっさ
2 | ?????? | ?????? | ??????????????“
3 | ?????? | ?????? | ??????????????“
4 | ???????????‰ | ????????? | ??????????????“
総括:自己批判します!
これ6時間弱も悩むとこやったんかなあ
田口さん教えて!