IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Fonction pour forcer les accents dans la base de données


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 244
    Points : 179
    Points
    179
    Par défaut [Tableaux] Fonction pour forcer les accents dans la base de données
    Voila mon petit souci. Je récupère des données provenant d'un fichier XML. Je traite ces infos et je les insère dans ma DB MySql. J'ai comme vous vous en douté des soucis avec les accents présent dans mes chaînes.

    Dans la fonction ci dessous, j'arrive à transformer mes "é" et "e" mais je voudrais pouvoir écrire les accents dans ma db donc transformer mon "é" par la valeur "&eacute"... qlq peut il maider ??

    Mon exemple avec le &eacute m'affiche "&eacute" dans ma DB et pas sa valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function nettoiAccent($string){
    //	é -> &eacute :
    	$search	 = array('Ë','Ê','È','É','é','è','ë','ê');
    	$replace = array('e','e','e','e','&eacute','e','e','e');
    //	$string = strtr(trim(strtolower($string)), $search, $replace);
    	$string = str_replace($search, $replace, $string);
    	return $string;
    }

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Je sais pas si c'est important mais les tableaux search et replace n'ont pas le meme nombre d'éléments.
    De plus dans $replace tu mets '.&eacute.' et je ne vois pas trop pourquoi tu mets des points autour, à la limite ce serait 'é' avec un point virgule mais les deux points ne me semblent pas utiles.
    Je suis pas du tout calé sur les expressions donc ne m'en veux pas si je suis complètement à coté de la plaque.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 244
    Points : 179
    Points
    179
    Par défaut
    Le nombre d'élément c'est correct chez moi, la partie de code à été réduite pour l'affichage.

    En ce qui concerne les "." près de l'&eacute qu'il soit présent ou pas ça change rien...

Discussions similaires

  1. [PHP 5.0] fonction pour gerer les accents dans une chaine
    Par adel25 dans le forum Langage
    Réponses: 1
    Dernier message: 21/08/2013, 14h36
  2. Réponses: 2
    Dernier message: 08/08/2007, 08h57
  3. Fonction pour effacer les accents
    Par repié dans le forum Oracle
    Réponses: 6
    Dernier message: 25/08/2006, 14h53
  4. Réponses: 6
    Dernier message: 31/07/2006, 16h01
  5. [Tableaux] Fonction str_replace et les accents
    Par GarGamel55 dans le forum Langage
    Réponses: 5
    Dernier message: 18/02/2006, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo