Headers already sent - Ecnodage UTF-8 ?
Résolu/Fermé
MHH225
Messages postés
529
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
10 juin 2012
-
3 janv. 2010 à 13:01
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 3 janv. 2010 à 15:43
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 3 janv. 2010 à 15:43
A voir également:
- Headers already sent - Ecnodage UTF-8 ?
- Clé windows 8 - Guide
- Mixcraft 8 - Télécharger - Création musicale
- Internet explorer 8 - Télécharger - Navigateurs
- Driver booster 8 - Télécharger - Pilotes & Matériel
- Sketchup 8 - Télécharger - 3D
9 réponses
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
3 janv. 2010 à 13:50
3 janv. 2010 à 13:50
Il y a sans doute un caractère unicode, invisible mais bien présent.
Essayes en plaçant ton curseur après "<", appuyes sur la flèche "gauche", puis appuyes quelques fois sur la touche "Supprimer"
Essayes en plaçant ton curseur après "<", appuyes sur la flèche "gauche", puis appuyes quelques fois sur la touche "Supprimer"
totofrancois
Messages postés
398
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
2 août 2013
44
3 janv. 2010 à 13:55
3 janv. 2010 à 13:55
bonjour,
si tu fais des header("encoding ....") ce dois être la première fonction appelé par ton php, c'est peut-être simplement l'ordre de tes appels qu'il faut changer.
si tu fais des header("encoding ....") ce dois être la première fonction appelé par ton php, c'est peut-être simplement l'ordre de tes appels qu'il faut changer.
MHH225
Messages postés
529
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
10 juin 2012
46
3 janv. 2010 à 14:31
3 janv. 2010 à 14:31
Salut totofrancois. Je ne vois pas très bien ce que tu veux dire par header php... Je ne fait simplement que les headers classique en HTML, entre les balises <head>.
Par contre, @avion-f16, merci de ton idée ! Je n'ai pas réussi à supprimer quoi que ce soit d'invisible dans mes pages, mais en changeant le type d'affichage sur mon navigateur (qui affiche donc du ANSI au lieu du UTF-8) j'ai découvert qu'effectivement il y avait des caractères avant le message d'erreur (  pour être précis ;) ) ! Après le problème est de les enlever...
Je vais faire des tests en réecrivant une petite page, voir si le problème est lié à la conversion ou, si c'est un autre problème. Je vous tiens informé ;)
Par contre, @avion-f16, merci de ton idée ! Je n'ai pas réussi à supprimer quoi que ce soit d'invisible dans mes pages, mais en changeant le type d'affichage sur mon navigateur (qui affiche donc du ANSI au lieu du UTF-8) j'ai découvert qu'effectivement il y avait des caractères avant le message d'erreur (  pour être précis ;) ) ! Après le problème est de les enlever...
Je vais faire des tests en réecrivant une petite page, voir si le problème est lié à la conversion ou, si c'est un autre problème. Je vous tiens informé ;)
MHH225
Messages postés
529
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
10 juin 2012
46
3 janv. 2010 à 14:43
3 janv. 2010 à 14:43
Bon donc le problème persiste même avec une page fraichement crée en UTF-8. Evidemment, avec une page en ANSI, aucun problème. Un détail que je n'avait pas pensé à vérifier, c'est que lorsque je teste en local, il n'y a aucun problème... Donc je vais jeter un petit coup d'oeil sur le site de Free, voir s'il y a quelque chose que je puisse régler. [EDIT] Comme je m'y attendais, rien à esperer de ce côté là...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
3 janv. 2010 à 14:46
3 janv. 2010 à 14:46
Le caractère unicode dont je te parles est en fait un "byte order mark (BOM)".
Regarde ici.
Regarde ici.
MHH225
Messages postés
529
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
10 juin 2012
46
3 janv. 2010 à 14:48
3 janv. 2010 à 14:48
Merci pour ta réponse, je viens justement de ragarder sur Internet et j'ai testé pendant que tu postais, et lorsque j'enregistre sans les BOM, ca marche !! :D Merci beaucoup !!
totofrancois
Messages postés
398
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
2 août 2013
44
3 janv. 2010 à 14:47
3 janv. 2010 à 14:47
du coup essai de rajouter au début de ton fichier :
<?php
header("encoding : utf-8");
?>
<?php
header("encoding : utf-8");
?>
MHH225
Messages postés
529
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
10 juin 2012
46
3 janv. 2010 à 14:59
3 janv. 2010 à 14:59
Donc pour résumer, mon navigateur, ou je ne sais quoi, interprétait la balise BOM comme un caractère, et envoyait donc des informations à la page (d'où le message 'Headers already sent'). Pour enlever cette balise BOM (inutile en UTF-8) il faut la supprimer au moyen de son éditeur de texte (sur Notepad++ : "Format" -> "Convertir en UTF-8 (sans BOM)")
Merci à tous les deux !
PS :Quelques infos sur les BOM
Merci à tous les deux !
PS :Quelques infos sur les BOM
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
3 janv. 2010 à 15:39
3 janv. 2010 à 15:39
C'est le serveur.
Avant d'envoyer ta page, le serveur envoyer les entêtes HTTP au navigateur. Ces entêtes contiennent plusieurs informations. Elles sont envoyées avant le premier caractères. Ici, le caractère BOM pose problème car le serveur doit l'envoyer au navigateur, donc il envoie les entête avant. Et après, dans ton script PHP, tu demandes à modifier les entêtes, ce qui est impossible une fois qu'elles sont envoyées.
Avant d'envoyer ta page, le serveur envoyer les entêtes HTTP au navigateur. Ces entêtes contiennent plusieurs informations. Elles sont envoyées avant le premier caractères. Ici, le caractère BOM pose problème car le serveur doit l'envoyer au navigateur, donc il envoie les entête avant. Et après, dans ton script PHP, tu demandes à modifier les entêtes, ce qui est impossible une fois qu'elles sont envoyées.
MHH225
Messages postés
529
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
10 juin 2012
46
3 janv. 2010 à 15:41
3 janv. 2010 à 15:41
Merci pour la précision ;)
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
3 janv. 2010 à 15:43
3 janv. 2010 à 15:43
:-)
C'est pour ça que :
C'est pour ça que :
Cannot send session cache limiter - headers already sent