Ik heb een tabel met utf8_unicode_ci encoding met 4 woorden erin:
1. go
2. GO
3. gó
4. GÓ
Met een simpele zoek query op 'go','GO','gó' of 'GÓ' komen alle vier de woorden terug:
SELECT * FROM `test` WHERE woord = 'gó' # 4 results
Dat is niet de bedoeling. Letters met andere accenten mogen niet matchen.
Zoek ik met COLLATE utf8_bin, dan word ie te strict, en word er niet meer case-INsensitive gezocht:
SELECT * FROM `test` where woord = 'go' COLLATE utf8_bin // 1 result
Is er een query mogelijk waarmee ik case-INsensitive kan zoeken, maar waar bij wel onderscheid word gemaakt tussen karakters met andere accenten?
Ik wil dat op de volgende query:
SELECT * FROM `test` WHERE `woord` LIKE 'go'
De woorden 'go' en 'GO' terug komen, maar niet gó en GÓ.
(Het is voor een vietnamese website, waarbij door een klein accent verschil een woord een compleet andere betekenis krijgt)
1. go
2. GO
3. gó
4. GÓ
Met een simpele zoek query op 'go','GO','gó' of 'GÓ' komen alle vier de woorden terug:
SELECT * FROM `test` WHERE woord = 'gó' # 4 results
Dat is niet de bedoeling. Letters met andere accenten mogen niet matchen.
Zoek ik met COLLATE utf8_bin, dan word ie te strict, en word er niet meer case-INsensitive gezocht:
SELECT * FROM `test` where woord = 'go' COLLATE utf8_bin // 1 result
Is er een query mogelijk waarmee ik case-INsensitive kan zoeken, maar waar bij wel onderscheid word gemaakt tussen karakters met andere accenten?
Ik wil dat op de volgende query:
SELECT * FROM `test` WHERE `woord` LIKE 'go'
De woorden 'go' en 'GO' terug komen, maar niet gó en GÓ.
(Het is voor een vietnamese website, waarbij door een klein accent verschil een woord een compleet andere betekenis krijgt)