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

HTML Discussion :

Probleme d'encodage UTF-8


Sujet :

HTML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut Probleme d'encodage UTF-8
    Bonjour,

    Je viens de terminer mon site web, mais j'ai un problème d'encodage, j'ai des caractères étranges sur mes accents...

    J'ai alors fait des recherches car je n'incluais pas de balise d'encodage, mais ca ne change rien, voila le prototype de mon header sur la page concernée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    Aussi quand je convertis mon encodage de ANSI vers UTF-8 sur notepad++ j'ai ce message qui apparait sur mon session_start():


    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started ...

    Et il redisparait quand je repasse en ANSI...

    Merci de m'éclairer !

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut
    Merci pour ce tuto plus complet que celui que j'avais trouve.

    Cependant, si je n'est plus mon message d'erreur lie a session_start(), ca ne fonctionne toujours pas, j'ai essaye la méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">		
    		<?php header( 'content-type: text/html; charset=utf-8' ); ?>
    </head>
    puis, comme ca ne fonctionnait pas j'ai ajoute:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<p class='premier_post'>" . utf8_decode($first_post) . "</p>";
    L'interprétation des caractères a change avec la 2eme méthode mais les accents ne s'affichent toujours pas...

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Lire un tuto c'est bien, lire réellement un tuto c'est mieux, le comprendre c'est la panacée.

    Cf mon tuto :
    Citation Envoyé par Bisûnûrs
    La méthode radicale consiste à mettre en première ligne de chaque fichier, un header qui va préciser au serveur de renvoyer de l'UTF-8 :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    header( 'content-type: text/html; charset=utf-8' );
    Où as-tu mis ton header ? Pas en première ligne.


    La configuration doit se faire à tous les niveaux décrits dans le tuto, et non à un seul. Donc il faut que tu fasses :
    - Le niveau Document HTML :
    - ET Le niveau Fichier ;
    - ET Le niveau Serveur ;
    - ET Le niveau Base de données si tu en utilises une.


    Et non pas :

    - Le niveau Document HTML :
    - OU Le niveau Fichier ;
    - OU Le niveau Serveur ;
    - OU Le niveau Base de données si tu en utilises une.


    En revanche, au Niveau Serveur, il y a différentes méthodes, et là c'est OU et non ET.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut
    Autant pour moi, je ne l'ai pas place des le debut car j'ai mon start_session()

    J'utilise effectivement une base de donnée, mais pourquoi je ne peux pas appliquer utf8_decode() sur une donnée récupérée de ma bdd ? Car j'utilise PDO...

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Il te reste à convertir ton fichier en UTF-8 sans BOM.
    Dans Notepad++ :

    Format > Convertir en UTF-8 (sans BOM).

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut
    C'est déjà fait en fait le problème vient de la fonction utf8_decode() (j'ai édité mon post mais pas assez rapide).

    Mais pour conclure, voici la commande a ajouter avec PDO juste après la création de l'objet pour régler le problème au niveau de la base de donnée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->exec('SET NAMES utf8');
    Si jamais tu es intéressé pour ajouter la méthode PDO a ton tuto...

    Merci pour ta patience !

  8. #8
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par student_ Voir le message
    Si jamais tu es intéressé pour ajouter la méthode PDO a ton tuto...
    Ca équivaut juste à exécuter une requête, comme c'est marqué dans mon tuto.

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

Discussions similaires

  1. [MySQL] Probleme Encodage UTF-8
    Par scalp58 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 11/12/2009, 17h14
  2. Probleme d'includes ( encodage utf-8 )
    Par antoine974 dans le forum Langage
    Réponses: 3
    Dernier message: 10/04/2009, 14h55
  3. [FileInpuStream]Problème avec l'UTF-8
    Par Invité dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 05/12/2005, 14h04
  4. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16
  5. [WebForms] Encodage, UTF-8 et accents
    Par alexischmit dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 28/04/2004, 12h21

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