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 :

Problème symbole bizarre à la place de tous les accents [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut Problème symbole bizarre à la place de tous les accents
    Bonjour,

    Sur certaines pages de mon site, j'ai un symbole en forme de losange avec un point d'interrogation à l'intérieur à la place de tous les caractères spéciaux(accent...) : �

    Je ne comprend pas pourquoi...

    Une idée pour résoudre ce problème?
    Merci d'avance

    [EDIT: Cela se produit uniquement sur firefox...]

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Salut,
    Certainement un problème d'encodage des caractères.
    Si ton site est en ISO-8859-1 et que tu codes en UTF-8 (ou inversement) ça peut arriver.

    Pour corriger le problème, fais attention à bien coder tes pages avec le même jeu de caractères que ton site.
    Si c'est des données récupérées d'une base de données, tu peux utiliser les fonctions de transcodage de caractères proposées par PHP :
    • utf8_encode
    • utf8_decode
    • etc...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 69
    Points : 80
    Points
    80
    Par défaut
    ou encoder les caracteres non ascii


    voir : htmlentities()

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    Comment savoir dans quel encodage de caractères est mon site?
    Ce n'est pas moi qui l'ai développé...

    Et de même, comment savoir quel est l'encodage des caractères dans la base de données?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Si tu regardes la source de tes pages HTML, dans le header, tu devrais avoir une balise qui ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    ou à ça (selon le cas) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    Pour la base de donnée, si c'est du MySQL, ça sera très certainement de l'ISO-8859-1.
    Une bonne solution alternative peut être d'utiliser htmlentities comme l'a suggéré parksto

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    J'ai essayé htmlentities...
    Dans mes formulaires d'ajout ou de modification des fiches produits, je fais un htmlentities sur le nom et la description du produit, mais il y a toujours le symbole bizar...
    Sinon j'ai essayé en mettant UTF8encode, et la ca marche sur firefox, mais par contre ca ne marche plus sur IE!

    Comment faire pour que ca soit compatible aussi bien sur IE que Firefox?

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    Je viens de regarder dans le header, et il n'i avait pas de balise meta pour le charset, j'ai mis la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    Et maintenant, ca marche niquel sous IE comme sous Firefox...

    Merci de votre aide!

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

Discussions similaires

  1. Problème de saut de ligne sur tous les XML/XSL
    Par gritchefr dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 28/04/2012, 18h46
  2. Réponses: 4
    Dernier message: 06/04/2011, 13h40
  3. Supprimer tous les accents d'une chaine
    Par smarties dans le forum Qt
    Réponses: 7
    Dernier message: 26/12/2010, 14h23
  4. Problème avec truncate partition et Rebuild tous les Index ?
    Par krilas dans le forum Administration
    Réponses: 2
    Dernier message: 04/08/2010, 11h05
  5. Enlever tous les accents dans le nom d'un fichier
    Par Abou Zar dans le forum Langage
    Réponses: 1
    Dernier message: 13/02/2010, 06h58

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