Hallo allemaal,
Ik heb een tabel in mijn database met namen. Deze namen bevatten soms bijzondere tekens zoals "é". In het geval van de naam René staat deze naam opgeslagen in de database als "René".
Nu wil ik een zoekfunctie creëren. Normaliter zou ik dit doen met de volgende query:
"SELECT * FROM leden WHERE voornaam LIKE '%$input%'"
Nu wil ik graag zorgen dat het niet uitmaakt of je zoekt op René of op Rèñé of op rene.
Dit kan ik naar mijn idee bewerkstelligen door twee stappen uit te voeren:
1. Ik bewerk $input in php: $input = iconv('UTF-8', 'US-ASCII//TRANSLIT', $input);
2. Ik bewerk tijdelijk alle waarden in de kolom voornaam zodat René Rene wordt. Als ik php zou mogen toepassen binnen mijn query zou deze er als volgt uitzien:
"SELECT * FROM leden WHERE iconv('UTF-8', 'US-ASCII//TRANSLIT', html_entity_decode(voornaam,ENT_COMPAT|ENT_HTML5,"UTF-8")) LIKE '%$input%'"
Kan iemand mij helpen met een vertaling van php naar sql voor stap twee, dan wel een tip geven hoe ik dit probleem op een andere manier kan oplossen?
Vriendelijke groeten, Bob
1.051 views