mysql:11334
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 20 Apr 2005 08:27:11 +0900
Subject: [mysql 11334] Re: mysqldump での文字化け(自己解決)
とみたです。 On Thu, 14 Apr 2005 20:42:31 +0900 wac54348@xxxxxxxxxx wrote: > 成松です。とみたさん いつもお世話になります。 > > > ところで、latin1 のフィールドに ujis を入れるのはやめた方がいいと思い > > ます。「昔話」と「聡明」と「総論」が同じと見なされたりするので… (^^; > > > > mysql> set names latin1; > > mysql> select "昔話"="聡明", "昔話"="総論"; > > +---------------+---------------+ > > | "昔話"="聡明" | "昔話"="総論" | > > +---------------+---------------+ > > | 1 | 1 | > > +---------------+---------------+ > サーバーがアメリカにあるレンタルサーバーなので、サーバーの文字コードを ujis > にしてもらうことは難しいと考えています。他になにかアイデアがあれば良いのです > が。。。 4.1.9-standard のバイナリ版なら扱える文字コードは全部入ってるでしょう から、データベースやテーブルの作成時に文字コードを指定できると思います。 データベース作成時に、 mysql> create database hoge character set ujis; とすれば、その後 hoge データベースに作られるテーブルの文字コードのデフォ ルト値は ujis になりますし、データベース作成後は、 mysql> alter database hoge character set ujis; で変更できます。 データベースをいじれる権限がなくても、テーブル作成時に mysql> create table (〜〜) character set ujis; で、文字コードを指定できます。 > また、 > http://dev.mysql.com/doc/mysql/ja/string-comparison-functions.html > をみると > > mysql> set names latin1; > mysql> select "昔話"= binary "聡明", "昔話"= binary "総論"; > +-----------------------+-----------------------+ > | "昔話"= binary "聡明" | "昔話"= binary "総論" | > +-----------------------+-----------------------+ > | 0 | 0 | > +-----------------------+-----------------------+ > > でとりあえず解決出来そうな気がしたのですが、良かったのでしょうか? 日本語EUC の場合は、たいていは binary 型でなんとかなるんですが、 mysql> select binary "恐山" like binary "%音%"; +----------------------------------+ | binary "恐山" like binary "%音%" | +----------------------------------+ | 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]