mysql:11273
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Sat, 26 Mar 2005 02:37:01 +0900
Subject: [mysql 11273] Re: mysqldump での文字化け(自己解決)
とみたです。 On Wed, 23 Mar 2005 08:53:33 +0900 wac54348@xxxxxxxxxx wrote: > MySQL ver 4.1.9-standard で下記のようにデフォルトで利用しています。 > > mysql> SHOW VARIABLES LIKE '%character\_set%'; > +--------------------------+----------------------------+ > | Variable_name | Value | > +--------------------------+----------------------------+ > | character_set_client | latin1 | > | character_set_connection | latin1 | > | character_set_database | latin1 | > | character_set_results | latin1 | > | character_set_server | latin1 | > | character_set_system | utf8 | > | character_sets_dir | /usr/share/mysql/charsets/ | > +--------------------------+----------------------------+ > > mysqldump をオプションなしで実行すると、テーブルの内容(ujis)が文字化けして > しまいました。 > --default-character-set=latin1 を明示すると、文字化けがなくなりました。 mysqldump はデフォルトでは utf8 で文字列を出力します。フィールドの型が utf8 でない場合は自動的に変換されます。そのために文字化けしてるように 見えてしまいます。 --default-character-set=latin1 を指定すると、サーバとクライアントで文 字コードが同一になり、文字コードの変換が発生しないので、文字化けしません。 ところで、latin1 のフィールドに ujis を入れるのはやめた方がいいと思い ます。「昔話」と「聡明」と「総論」が同じと見なされたりするので… (^^; mysql> set names latin1; mysql> select "昔話"="聡明", "昔話"="総論"; +---------------+---------------+ | "昔話"="聡明" | "昔話"="総論" | +---------------+---------------+ | 1 | 1 | +---------------+---------------+ -- とみたまさひろ <tommy@xxxxxxxxxx> 日本MySQLユーザ会 http://www.mysql.gr.jp
11241 2005-03-23 08:53 [<wac54348@xxxxxxxxxx] mysqldump での文字化け(自己解決) -> 11273 2005-03-26 02:37 ┗[とみたまさひろ <tomm] 11323 2005-04-14 20:42 ┗[<wac54348@xxxxxxxxxx] 11334 2005-04-20 08:27 ┗[とみたまさひろ <tomm]