8792 sujets
Pour en revenir à l'utilisation de [b]htmlspecialchars[/i] ou [b]htmlentities[/i], j'ai maintenant un argument choc !
Pour rappel, ces 2 fonctions convertissent des caractères en entités html.
* htmlspecialchars convertit les <, >, ", ' et &
* htmlentities convertit en plus tous les caractères accentués.
Il y a quelques semaines, j'ai créé une application de gestion de documents (environ 10000). J'ai stocké toutes les données dans une base MySQL avec htmlentitites.
Aujourd'hui on me demande si lors d'une recherche on pourrait ignorer les accents. Par exemple : si l'utiliser tape "epidemie" on devrait lui retourner tout ce qui traîte d'"épidémie".
Si le problème avait simplement été de comparer les lettres accentués avec les lettres correspondantes non accentuées, cela aurait été certainement faisable avec certaines fonctions propres au SGBD. Seulement comparer des e avec des é ou autres... c'est nettement plus compliqué !
Alors j'ignore quel intérêt représente exactement l'utilisation des entités HTML pour les lettres accentués, mais je préfère citer mon expérience si ça peut éviter à des gens de faire la même erreur.
Pour rappel, ces 2 fonctions convertissent des caractères en entités html.
* htmlspecialchars convertit les <, >, ", ' et &
* htmlentities convertit en plus tous les caractères accentués.
Il y a quelques semaines, j'ai créé une application de gestion de documents (environ 10000). J'ai stocké toutes les données dans une base MySQL avec htmlentitites.
Aujourd'hui on me demande si lors d'une recherche on pourrait ignorer les accents. Par exemple : si l'utiliser tape "epidemie" on devrait lui retourner tout ce qui traîte d'"épidémie".
Si le problème avait simplement été de comparer les lettres accentués avec les lettres correspondantes non accentuées, cela aurait été certainement faisable avec certaines fonctions propres au SGBD. Seulement comparer des e avec des é ou autres... c'est nettement plus compliqué !
Alors j'ignore quel intérêt représente exactement l'utilisation des entités HTML pour les lettres accentués, mais je préfère citer mon expérience si ça peut éviter à des gens de faire la même erreur.
