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 :

requete sql avec ou sans accent


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 59
    Par défaut requete sql avec ou sans accent
    Bonjour à tous,

    Site : charset=iso-8859-1
    Base de données : latin1_swedish_ci.

    Je cherche à faire la requête suivante :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT id FROM $matable WHERE mot LIKE '%ecreter%' COLLATE ...

    J'ai lu beaucoup de chose à ce sujet, mais je ne dois pas tout comprendre.

    Lorsque je suis les conseils de ce site : http://johannes-fetz.blogspot.fr/200...ents-avec.html je devrais utiliser SQL_Latin1_General_Cp437_CI_AI après collate ... mais j'ai le message suivant : Unknown collation: 'SQL_Latin1_General_Cp437_CI_AI' ????

    Mon but est de, par exemple, trouver le mot écrêter dans la base même si la recherche est avec le mot "ecreter" ou "écreter" ...

    D'avance, merci de m'aider à comprendre pourquoi ça ne marche pas chez moi ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Parce que l'article que tu cites parle de SQL Server et que visiblement tu utilises Mysql.

    L'interclassement que tu veux est plutôt "latin_general_ci".

    Attention il y a un interclassement sur la table et sur les colonnes également.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 59
    Par défaut
    merci sabotage pour ta réponse, je n'avais remarqué que c'était SQL Server

    Mais si j'utilise "latin_general_ci" j'ai le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Unknown collation: 'latin_general_ci'
    Tout est en "latin1_swedish_ci", tables et colonnes

    Que faire ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu dois faire une faute dans ta requête.
    Utilise phpmyadmin pour ce genre d'opérations, ça évite les erreurs bêtes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 59
    Par défaut
    une faute ?
    voici ma requete
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT id, title FROM matable WHERE (title LIKE '%ecreter%' COLLATE latin_general_ci)
    ??

    J'utilise phpmyadmin, mais pourquoi me recommandes-tu ça ??
    C'est grâce à phpmyadmin que je sais que mes tables sont en latin1_swedish_ci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 59
    Par défaut
    et si je fais la requete avec latin1_swedish_ci :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT id, title FROM matable WHERE (title LIKE '%ecreter%' COLLATE latin1_swedish_ci)

    le mot "écrêter" n'est pas trouvé

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

Discussions similaires

  1. Requete SQL avec Rand()
    Par leloup84 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/02/2006, 16h41
  2. requete SQL avec valeur max
    Par oeil de nuit dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/01/2006, 08h58
  3. REQUETE SQL AVEC HAVING
    Par juju_77 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 05/08/2005, 09h49
  4. Probleme de requete SQL avec un champs date
    Par ju360modena dans le forum ASP
    Réponses: 5
    Dernier message: 16/06/2005, 11h18
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 14h40

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