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

PHP & Base de données Discussion :

Même encodage, résultat différent !


Sujet :

PHP & Base de données

  1. #1
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut Même encodage, résultat différent !
    Bonjour,

    Sur l'affichage d'une page je prend l'information, soit dans une BDD Mysql, soit je renseigne cette info dans le php.
    Cette information peut-être accentué dans la BDD et est systématiquement accentué dans le PHP.
    Mes champs BDD sont en UTF-8 et dans les PHP j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    Donc mon problème est que l'affichage de l'info généré par le PHP est bon, alors que celui de l'info prise dans le champ BDD, s'il s'agit d'accent par exemple, s'affiche en point d'interrogation dans un losange.
    Je n'arrive pas à trouver de solution?
    Merci de m'aider.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour et merci Sabotage.

    Je ne t'ai pas répondu plus tôt car j'ai passé tout ce temps à faire et respecter le lien que tu m'as transmis, mais malgré cela ça bug toujours.

    La seule chose que je vois c'est que dans ma base en interclassement "utf8_général_ci" j'ai quelques tables créées par un script de gestion de membres que j'ai téléchargé et installé dans cette même base et ces tables sont en "latin1_général_ci".

    Et ce qui est surprenant c'est qu'une de mes pages qui ne fait pas appel à la BDD, mais qui n'est qu'un texte affiché et que dans son php, j'ai bien le header .... utf-8. Même si je l'appelle seule mon encodage n'est pas bon ?

    As tu une idée.

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as contrôlé les encodages au niveau du fichier ?
    Pour le deuxieme cas que tu indiques, ça ne peut être que ça.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Tu as contrôlé les encodages au niveau du fichier ?
    Qu'entend tu par fichier? le .php?
    Si c'est ça, il a bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header( 'content-type: text/html; charset=UTF-8' );
    Donc je ne vois pas, mais c'est sans doute autre chose qur tu veux dire !

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Chapitre III de l'article que je t'ai donné.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour Sabotage,

    Donc si j'ai bien compris c'est du .php qu'il est question.

    Comme je l'ai précisé, j'ai bien mis le header.... dans ce .php

    Je ne vois d'ailleurs pas l'intérêt du Test2 alors qu'il suffit de mettre l'encodage iso-8859-1 dans le Test1?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'est pas question de header dans le chapitre III, uniquement de l'encodage dans le fichier.
    Si tu écris en ANSI dans le fichier et que tu dis au navigateur, "ceci est une page UTF8", forcement ça ne fonctionne pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Re,

    Excuse, mais comme tu l'as vu je me suis trompé de chapitre.

    Maintenant en ce qui concerne le format de mon fichier il est bien en utf8, mais j'ai toujours mon problème.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Dans les deux cas ?
    Si oui, tu peux nous joindre le fichier qui ne fait pas appel à la bdd ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour Sabotage,

    Comme il s'agit d'une suite d'appel de php je ne sais pas lequel peut-être concerné.
    Par contre j'ai avancé un peu.
    Avant l'affichage je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo mb_detect_encoding($ma_variable)
    et lors de l'affichage de cette variable sans accent j'ai l'encodage ASCII et lorsque cette variable à un accent j'ai l'encodage UTF8 et affiche en point d'interrogation dans un losange a la place du caractère accentué.
    Mais ASCII je ne sais pas d’où il peut venir et je ne le voit défini nulle part. Le problème doit venir de là, non?

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Les caractères a-Z sont identiques en Unicode et en ANSI, il n'y a donc pas de bonne ou mauvaise réponse pour l'encodage de ta chaine sans accent.
    Le losange est symptomatique d'un caractère ANSI affiché dans une page UTF8.
    Cela confirme bien que ton fichier ou ta base de données produit un encodage ANSI.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Merci, mais je ne vois pas ce que je peux faire de plus.
    Ma BDD est en UTF8,
    Mes tables concernées sont en UTF8,
    Leurs champs sont en UTF8,
    Mes PHPs sont en UTF8...

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas repondu sur la fourniture du fichier incriminé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Bonjour Sabotage,
    Je n'ai pas répondu simplement parceque je croyais avoir compris ce que tu entendait par fichier, c'est à dire pour le .php, mais comme tu ne n'utilise pas l'expression ".php", mais fichier, je ne sais toujours pas ce que tu veux dire.
    Excuse moi si je ne comprend pas, mais si tu peux être plus précis sur ce que tu entend par fichier.

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Mets en pièce jointe ici le fichier qui présente un problème d'encodage.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Je te joint les 2 phps l'un appelant l'autre.
    Aff_page_classe.phptableau.php

  18. #18
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Aff_page_classe.php n'est pas en UTF8.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    GYK
    GYK est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 406
    Points : 94
    Points
    94
    Par défaut
    Qu'est-ce qui te fait dire ça?

    Tu as certainement raison, mais moi je ne trouve pas pourquoi!

  20. #20
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme expliqué dans l'article, je l'ouvre avec un editeur de texte (notepad++) et je contrôle l'encodage affiché.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Même requête, résultats différents
    Par zorino dans le forum SQL
    Réponses: 8
    Dernier message: 18/06/2008, 11h31
  2. Réponses: 4
    Dernier message: 22/05/2008, 12h58
  3. Réponses: 6
    Dernier message: 24/05/2007, 13h40
  4. [SQL2K]Une même requête des résultats différents
    Par jeeerome dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/07/2006, 14h20
  5. Résultats différent entre une requête SQL, et la même en VBA
    Par thetaps dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/09/2005, 12h05

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