想定外の文字にマッチしてしまう

2006/12/03 | MySQL

mysqlで用語集を作ってみたのだが、ちょっとした問題がでた。
この仕組みでは読み仮名を登録するようにしてあるのだが、五十音で整理したいため、読み仮名の最初の文字を取り出して別カラムで格納している(例えば「ガチョウ」という単語があった場合は、そのままでは「ガ」になってしまうが、ちょっと処理をして「カ」を取り出している)。
ここで問題。「ツ」という文字を検索するときに「ツ」で検索して表示されるのはもちろんだが「テ」で検索しても表示されてしまう。また「ル」という文字を検索するときに「ト」で検索しても表示されてしまう。なぜ?、なぜ?。
理由を突き詰めなかったが、なんとなく想像がついたのでカラムをbinaryとして保存するよう変更した。これで解決。
きっと少し考えれば理由もわかるとは思うがあえて調べない(面倒だし、理由を知らなくても直感でわかることだから)。でももし親切に教えてくれる人がいらっしゃるようでしたら、コメントに残してください。

コメントを残す


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net