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 :

accents posent problèmes


Sujet :

Requêtes MySQL

  1. #1
    Membre éclairé Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 717
    Points : 741
    Points
    741
    Par défaut accents posent problèmes
    bonjour,

    Mon soucis est que dès que j'écrit un accent dans un champ de formulaire, un caractère bozaroide le substitue dans la base de données, et pourtant je pensais avoir fait le nécessaire pour éviter cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta charset="utf-8" />
    Dans ma page HTML


    Et j'ai changé l'interclassement de ma bdd de mes tables et des champs de type VAR_CHAR dans phpmyadmin : de
    latin1_swedish_ci vers utf8_general_ci

    Pourriez vous me mettre sur la voie svp ?

    Merci

  2. #2
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    c'est un problème de cohérence... tout doit être en utf8
    • tes fichiers php doivent être encodés en utf8
    • les headers, si tu en génères, il vaut mieux préciser le charset avec
    • les communications php/mysql doivent être forcées à utf8 (defaut iso-8859-1)
    • la bd et/ou les tables ou à minima les colonnes concernées doivent être en utf8, pas seulement l'interclassement...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  3. #3
    Membre éclairé Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 717
    Points : 741
    Points
    741
    Par défaut
    Bonjour eric et merci pour ta réponse,

    Comment puis-je forcer mes connexions php -> mysql en utf8 stp ?

    Edit: j'ai réussi à forcer la connexion en utf8 de php à mysql avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); 
     
    try
    {
    $db = new PDO('mysql:host=localhost;dbname=mabdd', 'root', '', $options);
    }
    catch (Exception $e)
    {
            die('Erreur : ' . $e->getMessage());
    }
    Mais ça ne marche pas de mysql à php, cad que je me retrouve avec ces caractères étranges dans mon contenu dynamique alors que j'ai des caractères sans pb avec accents dans ma bdd
    Une idée ?

  4. #4
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    tu utilise quoi comme connecteur mysql?
    • mysql_
    • mysqli
    • pdo
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  5. #5
    Membre éclairé Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 717
    Points : 741
    Points
    741
    Par défaut
    classe pdo

  6. #6
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    bien bon choix...

    utilise:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
    dans le tableau que tu passes au constructeur de pdo pour paramétrer la connexion (4ème paramètre du constructeur)
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  7. #7
    Membre éclairé Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 717
    Points : 741
    Points
    741
    Par défaut
    Bonjour,

    C'est ce que j'ai fait (voir edit de mon avant dernier message).

    J'arrive a forcer l'encodage utf8 de php à mysql mais je n'arrive pas à le faire de mysql à php. Je me retrouve avec ces caractères étranges dans mon contenu dynamique alors que j'ai des caractères sans pb avec accents dans ma bdd. Une idée ?

  8. #8
    Membre éclairé Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 717
    Points : 741
    Points
    741
    Par défaut
    Bonjour,

    Que faut-il changer d'autre que l'interclassement dans la base de données svp ?

  9. #9
    Membre éclairé Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 717
    Points : 741
    Points
    741
    Par défaut
    Je vous en supplie aidez moi c en train de me mettre dans la m... professionnellement cette attrocité de pb d'encodage

  10. #10
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    non ça c'est bidirectionnel

    après tes tables doivent avoir:

    si tes tables ont été enregistrées avec du latin1 alors il faudra les convertir avec un alter table par exemple...

    regarde cet article, il devrait t'aider
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  11. #11
    Membre éclairé Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 717
    Points : 741
    Points
    741
    Par défaut
    Merci eric

    bon le problème venait de htmlentities qui transformais les accents en caractères martiens. 6 heures passées la dessus et autant de retard pros sur un projet

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

Discussions similaires

  1. Pages maître imbriquées posent problème
    Par citizen_yule dans le forum ASP.NET
    Réponses: 4
    Dernier message: 26/06/2007, 14h15
  2. [WebForms][2.0] deux ObjectDataSource de même TypeName posent problème
    Par stephane.net dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 17/11/2006, 09h55
  3. les caractères qui posent problème ..
    Par questionneuse dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 18/07/2006, 14h26
  4. [Accents - XML] Problème de codage non supporté !!
    Par Smortex dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/11/2002, 11h00

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