mysql:10830
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Mon, 24 Jan 2005 14:48:21 +0900
Subject: [mysql 10830] Re: 日本語での蓄積ができません
とみたです。 On Mon, 24 Jan 2005 12:09:35 +0900 弥永悦子 <minaga@xxxxxxxxxx> wrote: > >・プログラムから使うときは、コネクション確立後に「set names ujis」クエ > > リを一回実行してみる。 > mysqlに接続してデータベースに接続後、すぐにset names ujisと打って > SSHのコンソールやブラウザから日本語を入力してみましたが、 > 結果は変わりませんでした……。 あ、これは Perl プログラム中でそのクエリを発行するという意味です。 > これはMySQL4.1.7の問題ではなく、Perlのモジュールの問題なのでしょうか? 4.1.x ではサーバとクライアント間で文字コードが異なる場合、mysqld が文 字コードを自動的に変換してくれます(余計なお世話という意見もあると思い ますが (^^;)。 「mysql コマンドで insert したものを Perl プログラムで表示すると化ける」 ということは、mysql コマンドと Perl コマンドとで文字コードが違うためだ と考えられます。 ujis で動作している mysqld に ujis の mysql コマンドで登録したものは当 然 ujis で格納されます。ここで、仮に Perl クライアントの文字コードが latin1 の場合、データを取り出す際に ujis → latin1 変換を行なわれてし まって、化けてしまいます。 「set names」はクライアントの文字コードを mysqld に伝えるための命令で す。mysqld が ujis で動いている時に、Perl プログラム内で「set names ujis」を発行することで、mysqld の文字コード変換を行なわないようにでき ます。 ところで、CGI の場合は HTTP サーバとブラウザ間の問題もあると思うので、 まずはコマンドラインから perl コマンドで確かめてみる方が良いと思います。 -- とみたまさひろ <tommy@xxxxxxxxxx> 日本MySQLユーザ会 http://www.mysql.gr.jp
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]