mysql:10832
From: 弥永悦子 <弥永悦子 <minaga@xxxxxxxxxx>>
Date: Mon, 24 Jan 2005 17:39:55 +0900
Subject: [mysql 10832] Re: 日本語での蓄積ができません
こんばんわ、ヤナガです。 何度もありがとうございます! とみたまさひろ said at Mon, 24 Jan 2005 14:48:21 +0900 >あ、これは Perl プログラム中でそのクエリを発行するという意味です。 そうでしたか。お恥ずかしい。。。 >ujis で動作している mysqld に ujis の mysql コマンドで登録したものは当 >然 ujis で格納されます。ここで、仮に Perl クライアントの文字コードが >latin1 の場合、データを取り出す際に ujis → latin1 変換を行なわれてし >まって、化けてしまいます。 ここでやっと(今頃)「サーバとクライアント間の文字コードの違い」について (たぶん)理解することができました! #実は、クライアントの意味がよく分かっていませんでした。。。(恥 >「set names」はクライアントの文字コードを mysqld に伝えるための命令で >す。mysqld が ujis で動いている時に、Perl プログラム内で「set names >ujis」を発行することで、mysqld の文字コード変換を行なわないようにでき >ます。 $db = DBI->connect('DBI:mysql:test2:localhost', $user, $pass); $db->do("set names ujis"); $sth = $db->prepare("SELECT * FROM guest"); $sth->execute; こんな感じでPerlプログラムの頭の方に書いてみたのですが違いますか? ブラウザでCGIを通して見ると id=34 名前は?????¬?? メールアドレスはminaga@xxxxxxxxxx CGIをコマンドラインで実行してみると id=34 名前は?a?E?¬?? メールアドレスはminaga@xxxxxxxxxx<br> mysqlサーバに接続し、selectで見ると、 34 | ?a?E?¬?? | minaga@xxxxxxxxxx | となりました。 >ところで、CGI の場合は HTTP サーバとブラウザ間の問題もあると思うので、 >まずはコマンドラインから perl コマンドで確かめてみる方が良いと思います。 上のように、コマンドラインからも化けたということは、サーバとブラウザの 間の問題ではないということですよね。 引き続き、アドバイスをいただけると助かります。 何度も何度もすみませんが、宜しくお願いします! ---- 弥永悦子 株式会社キッズ 105-0014 東京都港区芝1-5-10 ICビル4F tel:03-5765-2760 / fax:03-5765-2765
10818 2005-01-20 15:35 [弥永悦子 <minaga@xxx] 日本語での蓄積ができません 10824 2005-01-22 19:14 ┣["Yuichi Otake" <you@] 10827 2005-01-24 12:01 ┃┗[弥永悦子 <minaga@xxx] 10825 2005-01-22 22:33 ┣[とみたまさひろ <tomm] 10828 2005-01-24 12:09 ┃┗[弥永悦子 <minaga@xxx] 10830 2005-01-24 14:48 ┃ ┗[とみたまさひろ <tomm] -> 10832 2005-01-24 17:39 ┃ ┗[弥永悦子 <minaga@xxx] 10833 2005-01-24 17:48 ┃ ┗[弥永悦子 <minaga@xxx] 10834 2005-01-24 19:04 ┃ ┗[弥永悦子 <minaga@xxx] できました!(Re: Re: 日本語での蓄積ができません) 10829 2005-01-24 14:40 ┗[KZ <d-parts@xxxxxxxx] 10831 2005-01-24 15:15 ┗[弥永悦子 <minaga@xxx] 10839 2005-01-28 08:31 ┗[<milk_coffee_2004jp@] 10842 2005-01-28 13:08 ┗[弥永悦子 <minaga@xxx]