Аналогичная ситуация. Скажем, в базе есть две строки с одинаковыми словами в кодировке UTF-8, локаль RU:
1. ханты-мансийский автономный округ
2. ханты-мансийский автономный округ
Как видно строки идентичны, но при запросе
select * from test where like (%мансийский%);
получаем результат равный одной строке с номером 1. В то же время, если я ввожу запрос
select * from test where like (%мансийскии%);
то получаю результат равный одной строке с номером 2. При этом, обратите внимание, запросы имеют разные окончания "Й" и "И".