DBIx::Class::Resultsetを使用して MySQL データベースに Web 検索機能を実装しようとしています。「ü」を検索すると、MySQL は「u」として (つまり、ウムラウトなしで) 検索を実行します。他の「拡張 ASCII」文字についても同じことが行われます。テーブルと接続は UTF8 です。
データベースでいくつかのテストを行ったところ、解決策が見つかりました。次のように、where 句に「collate utf8_bin」を追加します。
SELECT name FROM my_table WHERE name LIKE '%ü%' COLLATE utf8_bin;
しかし、これを DBIx::Class でどのように実装すればよいのでしょうか? 私の検索では、1 つのクエリで 2 つのテーブルに対して 'WHERE ... LIKE' が実行されます。
前もって感謝します、
マウリッツ