Article(s) taggés avec ‘accents’

Traiter des données accentuées sauvées en HTML dans MySQL

lundi 8 avril 2013

Sauver ses données en HTML peut s’avérer très intéressant sous divers aspects (que je vous laisserai le soin de juger) mais cela pour nous rendre la vie dure.
Par exemple lorsque l’on souhaite s’appuyer sur MySQL pour faire des recherches de correspondances de textes accentués.

En effet, alors que la clause

  1. span class= »st0″>’%ecole%’

fonctionnera pour la valeur « école« , il n’en sera rien pour la valeur « école« .

La solution trouvée sur les forums de MySQL consiste à créer une fonction MySQL personnalisée en ajoutant « une procédure stockée » à votre base de données.

Une fois le code copié/collé (et adapté à votre configuration) dans votre base, vous n’aurez plus qu’à modifier votre clause en

  1. span class= »st0″>’%ecole%’

pour pouvoir sélectionner les entrées ayant un champ `data contenant le mot « école », « école », « ecole », « écòle », …

Supprimer les caractères spéciaux dans une chaîne

vendredi 17 avril 2009

Bonjour à tous,

Il est souvent très désagréable de devoir traiter une chaîne avec des caractères spéciaux tels des lettres avec accents, des apostrophes ou autres symboles bizarres surtout lorsque celle-ci fera référence à un fichier.
C’est pourquoi je vous propose cette fonction qui est une amélioration personnelle d’une similairement plus courte trouvée sur la toile qui remplace juste les lettres accentuées par leur homologues normale.

  1. span class= »st0″>"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüµÿÑñ",  //Avant
  2.     "AAAAAAaaaaaaOOOOOoooooooEEEEeeeeCcIIIIiiiiuuuuuuuuuynn"); //Après
  3. ‘_’;    //Tout ce qui n’est pas "commun" est remplacé par _
  4. ‘`(_)(\1{1,})`s’,‘$1’,$chaine); //On supprime les _ consécutifs
  5. "J’aime bien diffuser des [infos] (par ici sur mon ‘déposoire’) => @$%°{~}©29436.");
  6. //Affichera J_aime_bien_diffuser_des_infos_par_ici_sur_mon_deposoire_29436.

Vous le voyez, ici le filtre est assez serré puisque seuls passent les lettres (majuscules et minuscules), les chiffres, le point et l’underscore.
Libre à vous de rendre ce filtre plus ou moins dense selon vos besoins!