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

Requêtes MySQL Discussion :

Interclassement : la jungle ?


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 32
    Par défaut Interclassement : la jungle ?
    J'ai crée un site en PHP s'appuyant sur une base MYSQL que je gère avec PHPMYADMIN.

    Ayant des problèmes avec les accents et les quote j'ai regardé de plus prêt la structure de mes tables et là surprise :

    - J'ai des tables en UTF8_BIN
    - D'autres en Latin1_swedish_ci
    - D'autres en Latin1_general_c1
    - Et pour simplifier le tout certains champs ont des interclassements différents de celui de la table auxquelles ils appartiennent.

    Que me conseillez-vous ? De tout harmoniser ? Si oui que faut-il choisir comme interclassement en sachant que j'ai des accents et des guillemets simples dans mes libéllés ?
    Il faut bien entendu que je puisse tout lire en PHP en tenant compte du fait que dans mes programmes je suis en charset=iso-8859-1

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    Il n'est pas vital d'harmoniser. Simplement :
    - si tu fais des jointures ou des comparaisons entre des colonnes de texte, il est plus optimal qu'elles aient le même jeu de caractère
    - il est important que tu t'y retrouves... ce qui suppose une certaine harmonisation

    Pour choisir, la question est "veux-tu que les recherches soient sensibles à la casse ? aux accents ?"

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 32
    Par défaut Réponse sur les recherches
    Ce que je souhaite c'est surtout pouvoir gérer les accents correctement : à savoir lorsque je saisie un champ dans un formulaire avec des accents il doit pouvoir être enregistré comme telle et lorsque je le rappelle il doit aussi me restituer les accents. Idem pour les simples et doubles quote.

    Toute cette gestion étant faite en PHP.

    Au niveau des recherches je n'ai pas spécialement d'idée :
    - Accents :oui à priori
    - Sensible à la casse : pourquoi pas.

    Mes recherches se faisant toujours en PHP.

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    Citation Envoyé par aragorn23 Voir le message
    Ce que je souhaite c'est surtout pouvoir gérer les accents correctement : à savoir lorsque je saisie un champ dans un formulaire avec des accents il doit pouvoir être enregistré comme telle et lorsque je le rappelle il doit aussi me restituer les accents. Idem pour les simples et doubles quote.
    ça c'est le minimum que font tous les jeux de caractères.
    Citation Envoyé par aragorn23 Voir le message
    Toute cette gestion étant faite en PHP.

    Au niveau des recherches je n'ai pas spécialement d'idée :
    - Accents :oui à priori
    - Sensible à la casse : pourquoi pas.
    Attention "sensible" veut faire qu'il faut faire la différence. Donc :
    - sensible à la casse et aux accents : le plus simple est de choisir latin1_bin, qui sera la + rapide. "Marc" est différent de "marc" et "Hervé" différent de "Herve".

    - sensible à la casse mais pas aux accents : à ma connaissance, ça n'existe pas

    - insensible à la casse, sensible aux accents : latin1_general_ci. "Marc" est considéré comme identique à "marc", mais "Hervé" reste différent de "Herve".

    - insensible à la casse et aux accents : latin1_german1_ci. "Marc" est considéré comme identique à "marc", et "Hervé" à "Herve".

    Citation Envoyé par aragorn23 Voir le message
    Mes recherches se faisant toujours en PHP.
    ça veut dire quoi ? Tu n'utilises pas de clause WHERE ?

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 32
    Par défaut Précisions sur les recherches
    En fait j'utilise la clause where dans mes pages internet en php car j'intégre des instructions SQL.

    D'après tes remarques il me semble que le latin1_bin est le plus adapté.

    Je vais quand même tout essayer d'harmoniser cela me semble plus cohérent et propre.

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    Citation Envoyé par aragorn23 Voir le message
    En fait j'utilise la clause where dans mes pages internet en php car j'intégre des instructions SQL.
    Donc tes recherches se font bien en SQL et non en PHP (même si ce SQL est généré par du PHP, mais c'est invisible pour MySQL).

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

Discussions similaires

  1. interclassement : quel alphabet choisir ?
    Par boteha dans le forum Outils
    Réponses: 4
    Dernier message: 22/08/2006, 15h52
  2. variable globale "interclasses"
    Par pi05 dans le forum C++
    Réponses: 9
    Dernier message: 10/03/2005, 21h02
  3. Changer Interclassement
    Par Invité dans le forum Débuter
    Réponses: 8
    Dernier message: 22/11/2004, 12h37
  4. Interclassement (Collation)
    Par Acti dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/10/2004, 15h16
  5. [Débutant(e)] argh la jungle!!!
    Par P@t dans le forum Débuter
    Réponses: 1
    Dernier message: 30/06/2004, 10h13

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