mysql:4602
From: 松嶋祥文 <松嶋祥文 <mats@xxxxxxxxxx>>
Date: Fri, 02 Nov 2001 17:19:47 +0900
Subject: [mysql 04602] Re: "@" の入っているデータを検索できません。
松嶋@ITBoost です。 MySQL はあまり詳しくないですが、フォローが無いようですので…。 | mysql> select * from table where COMMENT LIKE %@%; | として検索したところ、"@"が入っていないものもヒットしてしまいました。 | また、 | mysql> select * from table where binary COMMENT LIKE %@%; | とやってみても同じ結果でした。 configure 時のオプションに --with-extra-charsets=all --with-charset=sjis などを指定されましたでしょうか? このような指定をしないと、マルチバイト対応にならないと思います。 詳しくは http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Installing.html#Installing あたりをごらんください。 | これらヒットしたデータを見てみたところ、特に共通した | データというのが存在しておらず、原因がよくわかりません。 検索に引っかかったのは SJIS の 2byte 目に 0x40 (@の ASCII コード) が含まれた文字(「ァ」「院」など)が存在するデータではないでしょうか? | たぶんデータコードが何らかの理由で合致して関係のないものまで | ヒットしたものと思われますが、恐れ入りますが対応策がございましたら | アドバイスのほどお願いいたします。 MySQL をコンパイルし直すか、上記の現象を避けるだけならデータを EUC に変換するというのが考えられます。 EUC にしても、根本的にマルチバイト対応ではありませんので、別の ケースで即問題が発生します。 ということで、オススメは再コンパイルです。 -- ,-------------+ +---------------------------------------------' | | システム開発&エンジニアスクール アイティーブースト | | 松嶋 祥文 [ mats@xxxxxxxxxx ] ,-------------+ | +----------------------------------------------' | | | ★ Linux 関連の技術情報満載! http://www.itboost.co.jp/ | +-|■■■■■ Web アプリケーション開発、請け負います!■■■■■| +-------------------------------------------------------------+
4601 2001-11-02 12:28 ["Akinobu YAMAMOTO" <] "@" の入っているデータを検索できません。 -> 4602 2001-11-02 17:19 ┗[松嶋祥文 <mats@xxxxx]