我尝试在MySQL数据库上使用 DBIx::Class::Resultset . 除了一个问题外,我还有一个问题:当搜索“_¼”时,mysql将搜索结果作为“u”(换句话说,不使用umlaut)。对于其他“扩展的ASCII”字符也是如此。表和连接采用UTF8格式。
我对数据库做了一些测试,找到了解决方案:添加'collate utf8_bin'the where子句,如下所示:
SELECT name FROM my_table WHERE name LIKE '%ü%' COLLATE utf8_bin;
但是如何用dbix::class实现这个呢?我的搜索在哪里…就像一个查询中的两个表。
事先谢谢,
莫里茨
$rs->search({ name => \'LIKE ? COLLATE utf8_bin' }, { bind => [ '%' . $search_key . '%' ] } );
也许?