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

PHP & Base de données Discussion :

Problème avec les htmlentities stockés dans bdd


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 100
    Points : 48
    Points
    48
    Par défaut Problème avec les htmlentities stockés dans bdd
    Bonjour,

    j'ai des informations stockées dans une bdd issues d'un générateur html.
    Les caractères accentués sont automatiquement remplacés par l'équivalent htmlentities EX: é = é

    Un moteur de recherches permet d'effectuer une recherche dans cette bdd.
    je procéde donc, via le script de recherche, au remplacement des carractères accentués dans les mots saisis par l'utilisateur par leur équivalent htmlentities.
    La recherche fonction correctement.

    Mon problème est que si l'on oubli l'accentuation aucune réponse n'est trouvée.

    Comment faire pour avoir des chaines de carractères équivalent à comparer pour remedier à cela ?

    Merci.

  2. #2
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    Avec eregi() je pense.

    Cordialement

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 100
    Points : 48
    Points
    48
    Par défaut
    J'utilse déja eregi() pour la recherche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if( eregi( htmlentities(strtolower($mots)), strtolower($chaine)) )
    {
    ...
    }
    ce qui fonctionne très bien si l'on n'oublie aucun accent dans les $mots utilisés pour la recherche.

    Par contre si l'on oublie l'accentuation alors là cela ne fonctionne plus. Il faudrait pouvoir transformer les deux variables $mots et $chaine de façons à pouvoir effectuer une recherche avec ou sans accents.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par zouetchou
    Les caractères accentués sont automatiquement remplacés par l'équivalent htmlentities EX: é = é
    Comme quoi c'est "idiot" puisque les collations de MySQL vous permettraient de faire directement des recherches insensibles à l'"accentuation".

    Jeux de caractères et collations sous MySQL 5
    La documentation officielle

Discussions similaires

  1. Problème avec les procédures stockées
    Par christa_k dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 26/08/2009, 17h22
  2. Problème avec les procedures stockées.
    Par saymon dans le forum Développement
    Réponses: 1
    Dernier message: 14/04/2009, 13h50
  3. problème avec les geometry shaders dans GLSL
    Par Syl_20 dans le forum OpenGL
    Réponses: 7
    Dernier message: 03/04/2009, 13h59
  4. [MySQL] Problèmes avec les procédures stockées sous mysql
    Par GoTrUnKo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/11/2008, 22h00
  5. Réponses: 2
    Dernier message: 07/04/2007, 11h29

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