mysql:9238
From: Hirofumi Fujiwara <Hirofumi Fujiwara <fuji@xxxxxxxxxx>>
Date: Tue, 20 Apr 2004 14:08:58 +0900 (JST)
Subject: [mysql 09238] Re: SJISの漢字の第2バイト
藤原です。 > Hirofumi Fujiwara <fuji@xxxxxxxxxx> wrote: > | > | > mysql コマンドのオプションで --default-character-set=sjis をつければ良 > | > いと思います。 > | なるほど、確にオプションで sjis を指定すると、 > | mysql> select '表'; > | はちゃんと動作しますね。 > | > | 起動後、 > | mysql> set character set sjis; > | として、sjis を指定しても駄目ってことでしょうか。 > > ちょっとマニュアルを検索してみましたが、バージョン 4.1 系では > それまでと文字セットの考え方が違ってるみたいですね。 > > オプションの default-character-set は「サーバの文字セット」で、 > http://dev.mysql.com/doc/mysql/ja/Charset-server.html サーバに対して指定したときは「サーバの文字セット」で、 クライアントに対して指定したときは「クライアントの文字セット」ですね。 > コマンドラインの SET CHARACTER SET は「接続の文字セット」だそうです。 > http://dev.mysql.com/doc/mysql/ja/Charset-connection.html show variables like 'character_set_connection'; > 4.1系を実際に使ってみたことが無いので、 > 現段階でどこまで実装されているのかはわかりませんが、 > サーバに放り込む文字がすべて S-JIS と決まっているなら > default-character-set で「サーバの文字セット」を指定しておく > というのがやはり適切なのではないでしょうか。 すべてがSJISの世界のときには、サーバもクライアントもみんな default-character-set = sjis をしておいた方が良いらしいですね。 マニュアル の 4.7.1 データおよびソート用キャラクタセット の最後の方に、 [client] default-character-set=character-set-name しかし、通常は必要ありません。 とありましたが、そうではないというか、SJISを使うときには必要みたいです ね。 clientのコマンドライン中の文字列を解釈するとき、文字コードが分かってい ないとトラブルが出る筈なのですが、それは、default-character-setで指定 できるけれど、他の方法 set character set sjis set names sjis などでは駄目でした。 ---- 検証: mysql> show variables like 'character\_%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | character_set_server | sjis | | character_set_system | utf8 | | character_set_database | sjis | | character_set_client | sjis | | character_set_connection | sjis | | character_set_results | sjis | +--------------------------+-------+ 6 rows in set (0.00 sec) この状態でも、 '表' は正しく処理されませんが、 クライアント起動時に --default-character-set=sjis または my.cnf のクライアント指定に default-character-set=sjis と書くことで、 '表' は正常に動くようになりました。 ということは、上の変数で示される状況とは別に、クライアントのコマンドラ インの解釈のときの文字コード設定が存在するのではないかと思いますが、い かがでしょうか? ------------------------------------------------------------------ 株式会社 タイムインターメディア 藤原 博文 fuji@xxxxxxxxxx 本社 160-0002 東京都新宿区坂町26-27 IPBビル TEL 03-5362-9009 URL http://www.timedia.co.jp/ FAX 03-5362-9008 地図 http://www.timedia.co.jp/company/map/ 新宿線曙橋駅徒歩5分 ------------------------------------------------------------------ ♪ Puzzle Japan http://www.puzzle.jp/ 毎日新作パズルで遊ぼう ♪ ------------------------------------------------------------------
9232 2004-04-19 22:04 [Hirofumi Fujiwara <f] SJISの漢字の第2バイト 9233 2004-04-20 07:43 ┣[とみたまさひろ <tomm] 9235 2004-04-20 11:26 ┃┗[Hirofumi Fujiwara <f] 9237 2004-04-20 12:14 ┃ ┗[mohri <mohri@xxxxxxx] -> 9238 2004-04-20 14:08 ┃ ┗[Hirofumi Fujiwara <f] 9234 2004-04-20 09:20 ┗[きたぢま <kitajima@x] 9236 2004-04-20 11:48 ┗[SUGAWARA Hajime <sug]