バージョン選択

フォーラム

メニュー

オンライン状況

75 人のユーザが現在オンラインです。 (64 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 75
もっと...

サイト内検索

質問 > フロント機能 > 商品名検索で大文字と小文字を区別したい。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
risan
投稿日時: 2017/7/25 21:56
対応状況: −−−
半人前
登録日: 2016/9/23
居住地:
投稿: 18
商品名検索で大文字と小文字を区別したい。
[EC-CUBE] EC-CUBE3
[レンタルサーバ] さくらサーバー mysql

教えて下さい。

商品名検索では現在 大文字と小文字が区別されないで検索されます。
test TEST

testで検索するとtest TESTのどちらも検索されてしまいます。

これを testでは test TESTではTESTで検索されるにはどうしたらいいでしょうか?

よろしくお願いいたします。



nyorai
投稿日時: 2017/7/26 9:23
対応状況: −−−
仙人
登録日: 2015/8/21
居住地:
投稿: 302
Re: 商品名検索で大文字と小文字を区別したい。
以下の、utf8_unicode_ciと記述されている箇所を、BINARY に変更すれば区別されるようになるかと思います。

https://github.com/EC-CUBE/ec-cube/blob/master/src/Eccube/Doctrine/ORM/Query/Normalize.php#L55
risan
投稿日時: 2017/7/26 10:38
対応状況: −−−
半人前
登録日: 2016/9/23
居住地:
投稿: 18
Re: 商品名検索で大文字と小文字を区別したい。
さくそくのご助言ありがとうございます。

ご指示とおり 以下のように修正したのですが
システムエラーになってしまいました。
記述が間違っているのでしょうか?

$sql = sprintf('%s COLLATE BINARY', $this->string->dispatch($sqlWalker));
nyorai
投稿日時: 2017/7/26 13:14
対応状況: −−−
仙人
登録日: 2015/8/21
居住地:
投稿: 302
Re: 商品名検索で大文字と小文字を区別したい。
ちょっと間違ってました。以下でどうでしょう。


$sql = sprintf('BINARY %s', $this->string->dispatch($sqlWalker));


手元の環境(MySQL5.7)では動作しているようです。
risan
投稿日時: 2017/7/26 14:39
対応状況: −−−
半人前
登録日: 2016/9/23
居住地:
投稿: 18
Re: 商品名検索で大文字と小文字を区別したい。
ありがとうございます。

できました。 感謝いたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,850名です
総投稿数は109,987件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.