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

Langage PHP Discussion :

Interclassement / Encodage


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 11
    Par défaut Interclassement / Encodage
    Bonsoir à vous !

    Comme precisé dans le titre j' ai un petit soucis avec les différents encodages.
    Je m' explique : j' ai suivi la demarche à suivre expliquée Ici afin de bien homogénéiser l' environnement, mais je n' arrive pas au résultat escompté.

    Je récapitule :

    -je code avec notepad++ au format "UTF-8 (sans BOM)"
    -La base et les tables sont crées avec l' interclassement "utf8_unicode_ci"
    -Pareil pour l' interclassement pour la connexion => "utf8_unicode_ci"
    -Pour le doctype => "text/html; charset=UTF-8"

    Dans phpmyadmin tout est ok, j' ai les enregistrements qui s' affichent lisiblement, mais après la génération de la page, les données qui s' affichaient bien jusque là, ne le sont plus.



    Je retourne ca dans tous les sens, mais je ne vois pas trop pour le moment d' où peut provenir le problème. Si quelqu' un à une petite idée, qui pourrait m' éclairer, je suis preneur.

    Je crée la base et les tables ainsi que les enregistrements par le biais de fichier .sql. Celà pourrait-il provenir de là ?

    Merci à ceux qui se pencheront eventuellement sur la question.

  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
    Par défaut
    Est ce que tu fais bien le
    avant tes requetes ?

    Est-ce que ton fichier sql est en UTF8 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 11
    Par défaut
    J' ai bien fait le SET NAMES "utf8", toute le base est encodée en utf-8 et mon fichier .sql est bien en utf-8, cependant j' ai toujours le même problème.

    Quand je passe l' affichage du navigateur de utf-8 à iso 8859-1 , les données récupérées s' affichent correctement mais cette fois, c' est tout le reste de la page qui bug.

    En attendant je colmate avec un mysqli_query("SET NAMES 'utf8'") avant chaque requête, certes assez contraignant mais au moins tout s' affiche correctement. A force de manipuler je finirai bien par trouver le pourquoi du comment (un simple cache à vider ou je ne sais quoi encore...)

    En tout cas merci pour ton intervention sabotage.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ta page HTML doit être cohérente avec les contenus que tu affiches :
    -> soit tu veux que ta page soit en ISO auquel cas fais un utf8_decode() des contenus que tu récupères de ta base
    -> soit tu veux que ta page soit en UTF-8 auquel cas il faut que ton code HTML soit en UTF-8, cohérent avec tes contenus

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 11
    Par défaut
    Justement c' est cette cohérence que je recherche.
    Sans entête tout fonctionne correctement mais pas avec celle ci...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
         <title>Titre de la page</title>
         <meta name="keywords" lang="fr" content="motcle1,mocle2" />
         <meta name="description" content="Description de ma page web." />
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
         <meta http-equiv="Content-Language" content="fr" />
         <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    ...et le fichier php est au format utf-8 (sans bom). Je vais repartir du début et tout laisser au format occidental.

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

Discussions similaires

  1. Encodage et interclassement : plusieurs questions
    Par renaud26 dans le forum Administration
    Réponses: 3
    Dernier message: 24/02/2011, 11h46
  2. problème encodage / interclassement
    Par daYmo dans le forum Administration
    Réponses: 1
    Dernier message: 07/09/2008, 16h00
  3. [ENCODAGE][JAVA]Afficher correctement des accents
    Par kornelius dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/02/2004, 16h37
  4. Encodages DOS et Windows
    Par Aramis dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2003, 17h55
  5. [VB6] fonction d' encodage URL en VB
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2003, 11h16

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