スレッド表示 | フラット表示〕 全トピック 920 件中 249 番目 次≫ ≪前

文字検索について困っています。。。

created: 2006-04-28 13:23 | modified: 2006-04-29 17:10 | reply: 2

[3056] 文字検索について困っています。。。

user: じゅん | created: 2006-04-28 13:23
下記のSQLで「な」?「の」で始まる文字検索を実行すると
なぜか「は」で始まる文字も検索されてしまいます。
なぜでしょうか?

$szSQL = "select * from YM_PLAYER where PLAYER04 LIKE \"な%\"";
$szSQL = $szSQL ."or PLAYER04 LIKE \"に%\"";
$szSQL = $szSQL ."or PLAYER04 LIKE \"ぬ%\"";
$szSQL = $szSQL ."or PLAYER04 LIKE \"ね%\"";
$szSQL = $szSQL ."or PLAYER04 LIKE \"の%\"";

PHP+mysqlの環境です。
よろしくお願いいたします。
reply: 3057 3058 返信 編集 削除

[3057] BINARY演算子で急場しのぎ

user: ゆうじ | created: 2006-04-29 16:47
こんにちは。

検索する文字が少ないので
マルチバイト文字がうまく処理されてないと思われますが
どこをどうすれば良いのかは存じません。

根本的な解決策ではありませんが、
今回のような「行頭一致」であれば
BINARY演算子を LIKE の後に書き加えると
うまく検索されるようになります。
select * from YM_PLAYER where PLAYER04 like binary 'な%'
Parent: 3056  返信 編集 削除

[3058] default-character-set を設定

user: ゆうじ | created: 2006-04-29 17:10
うちの環境は、
win2000
Apache1.3.34 + PHP4.4.2
MySQL3.23.58
という具合なのですが

my.ini に default-character-set を正しく記載したら
うまく検索されるようになりました。
binary演算子よりもこちらの対策が正当ですね。

my.ini
[mysqld]
basedir=C:/bin/mysql
datadir=C:/bin/mysql/data
default-character-set=ujis
;default-character-set=sjis
Parent: 3056  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 249 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑