U kunt de sortering tijdens runtime wijzigen in de sql-query,
...where title like '%torun%' collate utf8_general_ci
maar pas op dat het veranderen van de collatie tijdens runtime de mogelijkheid uitsluit dat mysql een index gebruikt, dus de prestaties op grote tabellen kunnen verschrikkelijk zijn.
Of u kunt de kolom naar een andere kolom kopiëren, zoals searchable_title
, maar verander de sortering erop. Het is eigenlijk gebruikelijk om dit soort dingen te doen, waarbij je gegevens kopieert maar deze in een iets andere vorm hebt die is geoptimaliseerd voor een specifieke werklast/doel. U kunt triggers gebruiken als een leuke manier om de gedupliceerde kolommen gesynchroniseerd te houden. Deze methode heeft het potentieel om goed te presteren, indien geïndexeerd.
Opmerking - Zorg ervoor dat uw db echt die tekens heeft en niet html-entiteiten. Ook is de tekenset van uw verbinding van belang. Het bovenstaande gaat ervan uit dat het is ingesteld op utf8, bijvoorbeeld via set namen
zoals set names utf8
Zo niet, dan heb je een introducer nodig voor de letterlijke waarde
...where title like _utf8'%torun%' collate utf8_general_ci
en natuurlijk moet de waarde in de enkele aanhalingstekens daadwerkelijk utf8-gecodeerd zijn, zelfs als de rest van de sql-query dat niet is.