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

 MySQL Discussion :

Données MYSQL et fonction strtr()


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 21
    Par défaut Données MYSQL et fonction strtr()
    Bonjour à tous

    Je récupère des données d'une base MySQL 4.1.9 (latin1_swedish_ci)...

    Ces données s' affichent très bien dans ma page ( charset='iso-8859-15'), y compris les caractères accentués....

    Pour pouvoir inclure ce mot dans une url, j' ai voulu remplacer les caractères accentués par la fonction :

    $mot=$data['motaccentue'];
    $accent = " àáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
    $noaccent = "-aaaaaaaceeeeiiiidnoooooouuuyyby"
    $modif=strtr($mot,$accent,$noaccent);

    et...seuls les espaces sont remplacés...

    Le problème persiste avec toutes les fonctions du genre (str_replace...)

    Je précise que si je remplace
    $mot=$data['motaccentue']
    par
    $mot="mot accentué"

    là, la fonction marche...

    j' en déduis que cela vient de la BDD..
    mais pourquoi ???

    Merci infiniment de votre aide,

    Audrey

  2. #2
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 21
    Par défaut
    Bon, je me réponds à moi-même dans le cas où ca peut en aider d' autres....

    Il faut convertir :

    $mot=$data['motaccentue'];
    en
    $mot=htmlentities(strtolower($data['motaccentue']));

    ensuite supprimer les accents :

    $modif= preg_replace("/&(.)(acute|grave|cedil|circ|ring|tilde|uml);/", "$1", $mot);

    et enfin remplacer les espaces par des - :

    $nom=strtr($modif," ","-");

    et tout marche !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher données MySQL en fonction du nombre de sorties
    Par djinlemage dans le forum Langage
    Réponses: 4
    Dernier message: 14/01/2014, 13h23
  2. Appeler une fonction quand une donnée MySQL change
    Par ApocKalipsS dans le forum Langage
    Réponses: 7
    Dernier message: 28/02/2010, 17h24
  3. connection à base de donnée MYSQL
    Par zouzou_zaza dans le forum Bases de données
    Réponses: 11
    Dernier message: 04/07/2004, 12h31
  4. XML->Base de donnée Mysql
    Par lheureuxaurelie dans le forum XQUERY/SGBD
    Réponses: 4
    Dernier message: 10/03/2004, 23h47
  5. Réponses: 13
    Dernier message: 20/03/2003, 08h11

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