Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2702 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Validation XHTML = character "" not allowed in prolog

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Validation XHTML = character "" not allowed in prolog

n°1331528
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 24-03-2006 à 10:58:33  profilanswer
 

Hello :)
 
Tout est dans le titre. J'essai de valider mon site pour le XHTML sur validator.w3.org.
 
J'ai toujours cet erreur :

Citation :

Error  Line 1 column 0: character "" not allowed in prolog.
 
���<?xml version="1.0" encoding="utf-8"?>


Je vois vraiment pas d'où viennes ces 3 caractères bizarre au début, alors qu'ils ne sont vraiment pas dans mon code... vous avez des idées ? Vous pouvez vérifier directement sur mon site : http://www.meow.fr. Dans la source ces caractères n'y sont à priori pas.
 
Je vous remercie !


Message édité par TigrouMeow le 24-03-2006 à 10:59:36
mood
Publicité
Posté le 24-03-2006 à 10:58:33  profilanswer
 

n°1331638
xtof_83
Freeride Spirit
Posté le 24-03-2006 à 12:27:15  profilanswer
 

C'est l'encodage....

n°1331643
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 24-03-2006 à 12:34:30  profilanswer
 

C'est à dire ? J'utilise smarty, c'est lui qui génère mes pages aussi... t'as pas un tip sur ce que je dois vérifier exactement ?

n°1331645
xtof_83
Freeride Spirit
Posté le 24-03-2006 à 12:41:47  profilanswer
 

Moi je suis pas le roi de l'encodage ;)
 
Teste en mettant : charset=iso-8859-1
 
Bon aprés c'est pas dis que tes caractéres chinoix s'affiche...Ben vois...et dis moi :D

n°1331647
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 24-03-2006 à 12:44:07  profilanswer
 

En fait j'ai déjà essayé ça, mais le problème est pas là... il est avant... c'est les petites merdouilles ��� qui posent problèmes ! :( Et je sais pas d'où elles peuvent venir...

n°1331651
xtof_83
Freeride Spirit
Posté le 24-03-2006 à 12:51:45  profilanswer
 

ben en cas édit le fichier et sauve le ...
 
ça doit être à ce moment là que ça merde ;)
 
il y a quoi pour ces signes, des espaces si je me trompe, efface les ...

n°1331662
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 24-03-2006 à 13:06:37  profilanswer
 

Non ça serait trop simple :(

n°1331786
FlorentG
Unité de Masse
Posté le 24-03-2006 à 15:29:00  profilanswer
 

Avec un éditeur hexa :

EF BB BF EF BB BF EF BB BF 3C 21 44 4F 43 54 59


Ce qui commence à 3C 21... correspond à <!DOCT....
 
Les séries de 3 octets similaires du début (EF BB BF) correspondent au BOM (Byte Order Mask) d'un document encodé en UTF-8. C'est un machin qui sert par exemple à indiquer que ton document est en UTF-8, au cas où...  
Dans les autres encodages, ça peut servir pour indiquer si on est en little ou en big endian (pas en utf-8, où l'ordre des bits est toujours pareil).
 
DONC... Regarde dans ton éditeur de texte si t'as pas une case cochée genre "Save BOM" ou un truc dans l'genre...

n°1332051
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 25-03-2006 à 07:13:47  profilanswer
 

En fait j'utilise à la fois du PHP et Smarty, en plus de ça j'ai même un eaccelerator qui tourne, donc ce sont partout des pages générées... en même temps, les pages en php (et smarty) sont sauvées sans cette fameuse BOM... :( Donc je sais pas du tout d'où ça vient !

n°1332375
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 26-03-2006 à 08:41:08  profilanswer
 

Aucune idée ?

mood
Publicité
Posté le 26-03-2006 à 08:41:08  profilanswer
 

n°1337039
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 01-04-2006 à 16:48:48  profilanswer
 

Vous pensez que ça peut venir d'Apache ? ou de PHP ?

n°1344517
Alexandre ​T
Posté le 11-04-2006 à 21:11:50  profilanswer
 

Non ca vient bien des header envoyé. J'ai le même problème que toi.
En fait c'est cela qui déconne : on envoie  
Content-Type: text/html; charset=UTF-8
alors qu'on doit envoyer
Content-Type: text/xhtml+xml; charset=UTF-8
 
Il existe deux plugins à installer pour corriger cela en théorie
Le plugin fonction html_doctype et le plugin filtre de sortie : prepareforoutput.
 
J'essaie de comprendre comment ça marche et je te dis cela si je trouve.
Pour les plugins, il suffit de copier coller le code source dans le répertoire plugins de smarty et de nommer le premier fichier function.html_doctype.php et le second outputfilter.prepareforoutput.php
 
Je regarde le fonctionnement du premier , suffit de mettre {html_doctype} dans ton template d'entete...
Là je galère pour comprendre comment l'filtre de sortie marche...


Message édité par Alexandre T le 11-04-2006 à 21:12:29
n°1344602
FlorentG
Unité de Masse
Posté le 11-04-2006 à 23:12:39  profilanswer
 

text/xhtml+xml n'existe pas. Le type valide pour l'XHTML est application/xhtml+xml. Et quand on envoie avec ce type mime, Explorer n'affiche plus la page, mais une boîte de dialogue proposant de télécharger la page :(

n°1344625
phenxdesig​n
Posté le 11-04-2006 à 23:57:04  profilanswer
 

FlorentG a écrit :

text/xhtml+xml n'existe pas. Le type valide pour l'XHTML est application/xhtml+xml. Et quand on envoie avec ce type mime, Explorer n'affiche plus la page, mais une boîte de dialogue proposant de télécharger la page :(


ha c'est pour ça que gmail marche pas sous IE :D
j'ai a chaque fois 36 fenetre "enregistrer sous" qui s'ouvrent quand je le fais a la fac  :lol:

n°1344635
Alexandre ​T
Posté le 12-04-2006 à 00:17:08  profilanswer
 

mea culpa... un mauvais copier coller, je n'ai pas écrit ce que je pensais.
 
Je pensais bien à :
Content-Type: text/html; charset=UTF-8
alors qu'on doit envoyer
Content-Type: application/xhtml+xml; charset=UTF-8  
 
sous ie le plugin dont je parle envoie bien le format text/html et sous mozilla application/xhtml+xml
 
Par contre ca commence à m'embêter voici mon cache en hexa juste avant le 3C 21
ÿþÿþÿþÿþ<
FF FE FF FE FF FE FF FE
 
Par contre quand j'aouvre mon source sous IE je vois bien les trois caractères bizarres (qui n'apparaissent pas en Mozilla mais sont présents)
Ca m'énerve de ne pas comprendre...


Message édité par Alexandre T le 12-04-2006 à 00:17:38
n°1347171
Alexandre ​T
Posté le 14-04-2006 à 20:53:24  profilanswer
 

J'ai trouvé !
 
Ce fut difficile !
 
En fait, mon fichier php qui appelle smarty est enregistré en UTF-8 avec Ultraedit32
 
Quand je converti le fichier de Unix à dos et de UTF-8 à ASCII cela fonctionne. (et je laisse l'encode en UTF-8 et les headers !)
 
Je croyais avoir compris l'encodage... Finalement, non ! Toujours rien compris...

n°1348497
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 18-04-2006 à 07:31:12  profilanswer
 

Concrètement tu as réglé le problème comment ? J'ai essayé d'enregistrer mon index.php et mon news.php en ASCII avec des terminateurs DOS, mais bon le ASCII me glande totalement ma page et elle se transforme rien qu'en caractères chinois... (je précise d'ailleurs : mon système windows est en chinois). Il doit bien y avoir une solution pour ce problème c'est trop bizarre ! C'est la faute à smarty alors ?


Message édité par TigrouMeow le 18-04-2006 à 07:33:24
n°1359287
FlorentG
Unité de Masse
Posté le 04-05-2006 à 10:29:21  profilanswer
 

Le, truc, c'est de dire à UltraEdit de ne pas inclure le BOM lors de l'enregistrement


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Validation XHTML = character "" not allowed in prolog

 

Sujets relatifs
Validation des enumsvalidation CSS => Avertissements
Problème lors de la validation W3Cpb struts+javascript+xhtml
[HTML/CSS/Jevascript] Validation d'un site agréée Hache&Fer[XHTML & XML] Peut-on créer ses propres balises ?
validation formulaire en php avec Mysql[xsl->xhtml+css] Compatibilite
probleme de validation w3C CSS couleur de fondprobleme validation dtd
Plus de sujets relatifs à : Validation XHTML = character "" not allowed in prolog


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR