[前][次][番号順一覧][スレッド一覧]

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" <] &quot;@&quot; の入っているデータを検索できません。
->    4602 2001-11-02 17:19 ┗[松嶋祥文 <mats@xxxxx]