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 :

Problème encodage caractéres spéciaux MYSQL avec juste &


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [Résolu] Problème encodage caractéres spéciaux MYSQL avec juste &
    Bonjour

    Comme je trouve pas sur le forum, quelque chose qui se rapproche de mon problème je fais un poste.

    en fait je cherche à insérer des caractères spéciaux, apparement tout ce qui est accents, ç ... fonctionne sauf le &

    quand je fais mon insert

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into T_MarqueMere ( idfkT_Personne, T_MarqueMere) 
    values ( 1, "Procter & Gamble");
    j'ai ça Procter & Gamble comme résultat quand je fais un select

    pourtant j'ai bien déclaré mas base comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE DATABASE test
    CHARACTER SET utf8
    COLLATE utf8_bin;
    et ma colonne qui reçoit les données est déclaré comme T_MarqueMere varchar(50) utf8_bin

    et le plus drole si on peut dire ça, c'est que sous windows j'ai aucun problème et maintenant que je suis sous Linux j'ai cette erreur ???
    J'opterai bien pour un problème de paramètre dans mysql ... mais lequel

    Si quelqu'un peut m'aider, merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    si je fais directement un slect sous linux


    mysql> SELECT T_MarqueMere FROM T_MarqueMere;
    +------------------+
    | T_MarqueMere |
    +------------------+
    | - |
    | Procter & Gamble |
    +------------------+
    2 rows in set (0.00 sec)

    bon je suppose que ça vient soit du navigateur soit de phpmyadmin

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Tu utilises probablement un programme externe pour ajouter/modifier/afficher tes données.

    Le paramétrage correct du programme et de la BDD est un grand classique pour lequel tu trouveras une foule d'aides sur Internet.

    Un détail quand même : En SQL, on n'entoure pas les valeurs textuelles avec des guillemets mais avec des apostrophes.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Ben, en fait j ai testé les deux, requète en ligne de commande ou par l'interface de phpmydamin

    le selct directement en ligne de commande affiche bien la bonne valeur
    & et non &

    par contre par phpmyadmin j ai &

    et le pire c est juste pour ce & le reste impecc j'ai essayé de @ #_ |ñ .... c est nickel :-S

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    j ai trouvé ça

    Les esperluettes (&) dans les adresses URL
    Une autre erreur commune est celle provoquée par l'inclusion d'une adresse URL contenant une esperluette (&) :

    <!-- Ceci n'est pas valide ! --> <a href="machin.cgi?chapitre=1&section=2">...</a>

    Cet exemple se traduit par une erreur de « section d'entité inconnue » (N.d.T. unknown entity section) parce que le caractère « & » est censé initier une entité. La plupart du temps, les navigateurs récupéreront sans dommage de l'erreur mais l'exemple ci-dessus entraînera l'échec de la résolution du lien dans Netscape 3.x (cependant, pas dans ses autres versions) car il supposera que l'auteur avait l'intention d'écrire &sect;ion, qui équivaut à §ion.

    Pour éviter les problèmes avec les validateurs et les navigateurs, il faut toujours utiliser &amp; au lieu de & lorsqu'on écrit une adresse URL en HTML :

    <a href="machin.cgi?chapitre=1&amp;section=2">...</a>

    Remarquez que le remplacement du caractère & par &amp; n'intervient que pour l'écriture de l'adresse URL en HTML, où « & » est un caractère spécial (tout comme les caractères « < » et « > »). Si on devait écrire la même adresse URL dans un message électronique en texte brut ou dans la barre d'adresse d'un navigateur, on écrirait « & » et non « &amp; ». Avec HTML, le navigateur traduit « &amp; » en « & », de sorte que le serveur Web ne voit que « & » et non « &amp; » dans la chaîne d'interrogation de la requête.



    Donc si je comprends se serait phpmyadmin qui s amuserait à interpréter mon & en &amp; ???ainsi que < qu il transforme en &lt; et > en &gt;
    Clair que ça doit venir de phpmyadmin et non de mysql


    Heu on fait comment pour déplacer un sujet vers le forum adéquat

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bon ???

    Problème réglé du moins avec phpmyadmin

    Même si je vois pas trop pourquoi

    Pour info base créée
    CHARACTER SET utf8
    COLLATE utf8_bin
    Table en UTF8_bin
    idem pour les colonnes

    et c est justement la dernière valeur qui posait problème
    en mettant utf8_swedish_ci
    je récupère tout au bon format dans phpmyadmin les & et les œ

    donc pour moi le sujet est clos [biggrin]

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

Discussions similaires

  1. Problème encodage caractères spéciaux
    Par tomy29 dans le forum Struts 1
    Réponses: 9
    Dernier message: 08/01/2012, 11h49
  2. [mysql] Problème de caractères spéciaux
    Par Arrakis dans le forum Bibliothèques tierces
    Réponses: 7
    Dernier message: 08/05/2008, 17h11
  3. Problème de caractères spéciaux avec DOS2UNIX
    Par farenheiit dans le forum Solaris
    Réponses: 3
    Dernier message: 19/03/2008, 11h55
  4. Problème caractères spéciaux MYSQL
    Par durban dans le forum Débuter
    Réponses: 1
    Dernier message: 18/03/2008, 15h25
  5. Probléme encodage caractéres spéciaux MYSQL
    Par FoxLeRenard dans le forum Installation
    Réponses: 1
    Dernier message: 20/02/2006, 12h10

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