[PHP-users 33039] Re: php5+mysql4 で文字化け

morimoto masanao1977 @ yahoo.co.jp
2007年 12月 15日 (土) 16:46:43 JST


鈴木さんありがとうございます。

set names ujisを追加しても文字化けしています。
以下スクリプトです。

<?php
if(!$dsn = mysql_connect('192.168.3.3', 'root', 'admin'))
{
        print "ConnectError";
} else {
        if (mysql_select_db('mailmagazine', $dsn)) {
                if (!mysql_query("SET NAMES ujis")) {
                        print "failed";
                        exit;
                }
                $sql = "INSERT INTO m_user(id,pw,name)
VALUES('0112','pass','
あああ')";
                $rs = mysql_query($sql, $dsn);
                print "success select";
        } else {
                print "fail insert";
        }
}
?>

mysql> select * from m_user;
| id     | pw                               | name   |
| 0112   | pass                             | ???    |

パパぱふぅさん
mysqli関数群がインストールされていなかったので、
これからインストールして試してみます。


--- suzuki <suumetal @ msc.biglobe.ne.jp> wrote:

> 鈴木と申します。
> 
> INSERT文の前に
> set names ujis;
> というクエリを飛ばしてみてはどうですか?
> 
> 
> 
> 
> On Sat, 15 Dec 2007 00:56:31 +0900 (JST)
> hamada <masanao1977 @ yahoo.co.jp> wrote:
> 
> > 森本と申します。
> > 
> > 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 mailing list  PHP-users @ php.gr.jp
> > http://ml.php.gr.jp/mailman/listinfo/php-users
> > PHP初心者のためのページ -
> 質問する前にはこちらをお読みください
> > http://oldwww.php.gr.jp/php/novice.php3
> > 
> > 
> > 
> > -- 
> > No virus found in this incoming message.
> > Checked by AVG Free Edition.
> > Version: 7.5.486 / Virus Database: 269.17.1/1181 -
> Release Date: 2007/12/11 17:05
> > 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ -
> 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
> 



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