Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > HTML / DHTML / XHTML
HTML / DHTML / XHTML Forum sur la programmation HTML / DHTML/ XHTML et la validation W3C. Cours (X)HTML, FAQ (X)HTML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2010, 11h46   #1
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
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 :
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 !
student_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 12h36   #2
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Cadeau :
http://j-willette.developpez.com/tut...-site-en-utf8/
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 12h55   #3
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
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 :
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 :
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...
student_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 13h47   #4
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
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 :
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.
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 13h55   #5
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
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...
student_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 13h59   #6
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Il te reste à convertir ton fichier en UTF-8 sans BOM.
Dans Notepad++ :

Format > Convertir en UTF-8 (sans BOM).
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 14h15   #7
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
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 :
$bdd->exec('SET NAMES utf8');
Si jamais tu es intéressé pour ajouter la méthode PDO a ton tuto...

Merci pour ta patience !
student_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 14h23   #8
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
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.
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h54.


 
 
 
 
Partenaires

Hébergement Web