[PHP-users 33036] php5+mysql4 で文字化け

hamada masanao1977 @ yahoo.co.jp
2007年 12月 15日 (土) 00:56:31 JST


森本と申します。

RedHat9
php5.2.5
mysql4.1.22 

php、mysqlともujisで統一しているのですが、
mysqlにインサート時に文字化けが発生して解決できません。

mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name            | Value                        
   |
+--------------------------+----------------------------------+
| character_set_client     | ujis                         
   |
| character_set_connection | ujis                         
   |
| character_set_database   | ujis                         
   |
| character_set_results    | ujis                         
   |
| character_set_server     | ujis                         
   |
| character_set_system     | utf8                         
   |
| character_sets_dir       |
/usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+

php.ini
------------------------------------
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = EUC-JP
mbstring.http_output = EUC-JP
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
------------------------------------

mysqlクライアント
Client API version  4.1.22 

ソース
------------------------------------
<?php
if(!$dsn = mysql_connect('192.168.3.3', 'root', '')) {
        print "ConnectError";
} else {
        $sql = "INSERT INTO m_user(id,pw,name)
VALUES('0111','pass','
あああ')";
        if (mysql_select_db('test', $dsn)) {
                $rs = mysql_query($sql, $dsn);
                print "success select";
        } else {
                print "fail insert";
        }
}
------------------------------------

「あああ」とインサートされず「???」となってしまいます。
print $sql;の結果では、EUC-JPでちゃんと表示されています
。

ujisに統一できていると思うのですが、どこが原因かわからず
行き詰っています。

どうかアドバイスお願いいたします。


PHP-users メーリングリストの案内