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 :

Caractères non conformes


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut Caractères non conformes
    Bonjour à tous,

    J'ai un fichier PHP (appartenant à un site utilisant le charset=UTF-8) qui insère des données dans des tables MySQL.

    Le soucis est que les caractères accentués ne passent pas bien.

    Par exemple : l'insertion du mot Hérault devient une donnée dans la table de forme Hérault.

    Comment résoudre ce soucis ?

    Merci.

  2. #2
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    En décodant les données avec la fonction php utf8_decode.
    http://fr2.php.net/manual/fr/function.utf8-decode.php

    Ou, côté MySQL, en changeant l'encode de la colonne (ou de la table) et en choisissant un encodage utf8.
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Citation Envoyé par Alexandre T
    En décodant les données avec la fonction php utf8_decode.
    http://fr2.php.net/manual/fr/function.utf8-decode.php

    Ou, côté MySQL, en changeant l'encode de la colonne (ou de la table) et en choisissant un encodage utf8.
    Si je prends la première solution :

    Cela signifie qu'il faut faire un utf8_encode() de chaque résultat lu dans le base (après une requête) ?

    Si je prends la deuxième solution :

    J'ai essayé cette solution à l'instant mais en vain, peux-tu me dire comment changer l'encode de la colonne et lequel prendre sachant que le site français utilise utf-8 ?

    Exemple d'une de mes tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE TABLE `reference_bien` (
      `reference_RB` varchar(50) NOT NULL default '',
      PRIMARY KEY  (`reference_RB`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Merci d'avance.

  4. #4
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Exemples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ALTER TABLE t1 
         CHANGE c1 
                c1 TEXT 
                   CHARACTER SET utf8;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ALTER TABLE `reference_bien` 
         CHANGE `reference_RB` 
                `reference_RB` varchar(50) 
                               NOT NULL 
                               DEFAULT '' 
                               CHARACTER SET utf8;
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  5. #5
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Désolé Alexandre T mais mon code ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
         requête SQL: 
          CREATE  TABLE  `type_tri` ( `id_TT` int( 11  )  NOT  NULL default  '0',
     `nom_TT` varchar( 50  )  NOT  NULL default  '' CHARACTER  SET utf8,
     PRIMARY  KEY (  `id_TT`  ) 
    ) 
    
          MySQL a répondu: 
      #1064 - Erreur de syntaxe pr�s de 'CHARACTER SET utf8,
    PRIMARY KEY ( `id_TT` )
    )' � la ligne 3

    Pourquoi ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Par défaut
    pourquoi ce post a etai mis resolu, j vois pa trop la soution , sinon j'ai changé l'interclassement du champ email en utf8 , sa marche pas, en dirai que la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `commande` WHERE email='mohaweb@sensuré.com'
    lit pas l'adresse correctement

    mais quand je fait ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `commande` WHERE email like '%mohaweb%sensuré.com'
    sa renvoi quelque chose

    donc point de depart
    j'ai chercher sur l'interclassement il parle des lettre avec accent mais pa de l'arobse !!

  7. #7
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Citation Envoyé par Mister Nono
    Désolé Alexandre T mais mon code ne fonctionne pas :


    Pourquoi ?
    Quelle est votre version de MySQL ?
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Par défaut
    bon pour ma par c bon ça marche
    je sais pas trop ce que j'ai fait mais j changé le type varchar en type text , la sa marche
    mais s il ya une explication plosible j suis toute oui


    donc je mets resolu

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

Discussions similaires

  1. Caractères non conformes dans le chemin d'accès.
    Par stephan1932 dans le forum VB.NET
    Réponses: 21
    Dernier message: 21/08/2015, 13h12
  2. Réponses: 3
    Dernier message: 21/04/2013, 23h33
  3. caractére non conforme
    Par alex61 dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/01/2011, 13h39
  4. Webbrowser + présentant des caractères non conformes
    Par mqsi dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 28/04/2010, 12h33
  5. [Winforms]Caractères non conformes dans le chemin d'accès
    Par Hemophilius dans le forum C++/CLI
    Réponses: 3
    Dernier message: 08/10/2008, 13h59

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