[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 メーリングリストの案内