文字化けの原因

文字化け問題調査中。

MySQLに、なんとLatin1で登録されてました・・・・( //)

MySQL自体の設定は、utf8で徹底してあるので、CakePHP側が怪しい。

mysql> status

                          • -

mysql Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (i686) using readline 5.0
(中略)
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 2 hours 16 min 32 sec

Threads: 1 Questions: 363 Slow queries: 0 Opens: 16 Flush tables: 1 Open tables: 10 Queries per second avg: 0.044

                          • -

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.01 sec)
mysql> SELECT * FROM notes WHERE id=1\G
*************************** 1. row ***************************
id: 1
member_id: 1
lat: 35.4
lon: 139
title: a????a????a????a??≪
body: a??¬a??‡
a??¬a??‡
public_flag: public
created: 2009-10-09 11:28:20
modified: 2009-10-09 11:28:20
1 row in set (0.00 sec)

mysql> SET NAMES Latin1;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM notes WHERE id=1\G
*************************** 1. row ***************************
id: 1
member_id: 1
lat: 35.4
lon: 139
title: タイトル
body: 本文
本文
public_flag: public
created: 2009-10-09 11:28:20
modified: 2009-10-09 11:28:20
1 row in set (0.00 sec)

↑id=1の記事は、bakeで作ったaddからPCで登録したもの。
携帯モード(偽装)から登録すると、なんだかUTF-8で入ってます・・・

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)

mysql> SELECT * FROM notes WHERE id=5\G
*************************** 1. row ***************************
id: 5
member_id: 4
lat: 134
lon: 43
title: テスト from 携帯
body: 本文
public_flag: private
created: 2009-10-15 10:54:45
modified: 2009-10-15 10:54:45
1 row in set (0.00 sec)

問題切り分けて、段階的に解決しないと。。。