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 de stockage de caractères ...


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut Problème de stockage de caractères ...
    Bonjour,
    petit problème avec certains caractères comme
    ’“œ”
    (codes 146,147,156,148) qui sont stockés dans la base, après insertion avec la valeur
    %u2019, %u201c, %u201d, %u0153
    ...


    La table dans laquelle sont stockées les informations est en interclassement
    latin1_swedish_ci
    et la colonne en question est également en latin1_swedish_ci ??!!
    Au pire j'aurais plus imaginé que ce soit
    latin1_general_ci
    mais bon ??

    Les informations retournées par le serveur sont :
    character set client utf8 latin1
    character set connection utf8 latin1
    character set database latin1 latin1
    character set results utf8 latin1
    character set server latin1 latin1
    character set system utf8 utf8
    character sets dir w:\usr\local\mysql\share\charsets/ w:\usr\local\mysql\share\charsets/
    collation connection utf8_general_ci latin1_swedish_ci
    collation database latin1_swedish_ci latin1_swedish_ci
    collation server latin1_swedish_ci latin1_swedish_ci
    Avant de faire pleins de bidouilles qui risquent de tout casser, et surtout de peut-être accepter ces caractères mais de ne plus accepter mes bon vieux accents, j'aimerais avoir vos conseils...

    --
    Cordialement
    Christophe Charron

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Ca ne serait pas au niveau applicatif que les caractères sont transformés (formulaire Web... ?). Pour t'en assurer, essaie d'insérer les mêmes caractères via le client MySQL en ligne de commande et regarde si ça fonctionne.

  3. #3
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    le souci est qu'à la ligne de commande ces caractères ne passent pas !! mon joli
    œ
    est transformé en
    o
    bête et classique.
    J'avais omis de dire que dans mon code php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $blocnotebrut =  get_magic_quotes_gpc() ? $_POST['blocnotebrut']:addslashes($_POST['blocnotebrut'])
    j'utilisais
    addslashes
    mais j'imagine que tout le monde le fait non ?

    En direct live avec phpmyadmin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update _documents set blocnotebrut='fait pas le joli cœur !!' where doc_cleunik=10000011
    me renvoie bien la chaine correcte alors que dans mon appli, via addslashes, j'imagine, je me retrouve avec
    fait pas le joli c%u0153ur !!
    ce qui est beaucoup moins poétique !!!

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    C'est une question d'encodage de ta page Web où est située le formulaire. Il doit falloir la mettre en ISO-8859-1...

  5. #5
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Citation Envoyé par Maximilian
    C'est une question d'encodage de ta page Web où est située le formulaire. Il doit falloir la mettre en ISO-8859-1...
    C'est le cas ...

  6. #6
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Citation Envoyé par Maximilian
    C'est une question d'encodage de ta page Web où est située le formulaire. Il doit falloir la mettre en ISO-8859-1...
    bon, en fait, une fois de plus, je me suis emballé !!!
    Ca n'a rien à voir avec mysql ni même avec addslashes.
    J'ai codé en dur, dans le script php la valeur et elle reste intègre.
    C'est en fait dans le javascript qui envoie la valeur à la page php !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function envoyer(chaine, urlservice, message){
        p = new XMLHttpRequest();
        p.onload = null;
        p.open("POST",urlservice, false);
        p.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        p.send(chaine);
        status = p.status;
        if ( status != "200" ) {
          return status
          //alert("arg ! mauvaise réponse http ("+ status +")");
        }else{
        return p.responseText
        }
    }
    Je pense que ce Content-type ne lui convient pas !!
    Désolé pour le hors-sujet, je vais aller poster ailleurs mais je reviendrai quand même donner la réponse ici.

  7. #7
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Bonsoir,
    je n'ai toujours pas de réponse et pourtant, il semblerait que ma chaine d'origine soit propre !!
    Pour ceux qui ont Firefox (désolé mais le test est en xul) ils peuvent aller jeter un oeil sur http://test01.christophe-charron.org...ttprequest.xul

  8. #8
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Citation Envoyé par Christophe Charron
    Pour ceux qui ont Firefox (désolé mais le test est en xul) ils peuvent aller jeter un oeil sur http://test01.christophe-charron.org...ttprequest.xul
    Ca ne fonctionne pas sous FF 1.5 (enfin j'ai qu'un minuscule bouton qui se remplit quand on clique)

    Il n'y a pas moyen de préciser le charset dans le header de la requête HTTP ?

  9. #9
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Bonsoir,
    Citation Envoyé par Maximilian
    Ca ne fonctionne pas sous FF 1.5 (enfin j'ai qu'un minuscule bouton qui se remplit quand on clique)
    Il n'y a pas moyen de préciser le charset dans le header de la requête HTTP ?
    heu bizarre tout ça !! si c'est toi qui t'es connecté à 22h51
    xx.xx.xxx.xx - - [14/Mar/2006:22:51:13 +0100] "GET /test_httprequest.xul
    HTTP/1.1" 304 146 "http://www.developpez.net/forums/posting_secure.php"
    "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111
    Firefox/1.5.0.1"
    il semble pourtant que tu sois en 1.5.0.1 comme moi !!
    J'en profite pour préciser que c'est "normalement" visible à partir de cette version : désolé pour la personne qui a essayé avec mozilla puis avec une "vieille" version de firefox !!

    As tu pu regarder les codes malgré tout ?

    --
    Cordialement
    Christophe Charron

Discussions similaires

  1. Problème de Stockage des caractère accentué
    Par westside-99 dans le forum JPA
    Réponses: 0
    Dernier message: 22/05/2009, 17h30
  2. Réponses: 2
    Dernier message: 29/07/2008, 13h23
  3. Problème de stockage des caractères arabe dans Mysql?
    Par merci_tous dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 24/04/2007, 13h21
  4. Réponses: 3
    Dernier message: 11/10/2004, 18h26
  5. Problème de chaîne de caractères (BSTR)
    Par patvdb dans le forum MFC
    Réponses: 2
    Dernier message: 26/02/2004, 16h44

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