Le caractère BOM fait échouer la validation de mes pages

Le caractère BOM fait échouer la validation de mes pages - HTML/CSS - Programmation

Marsh Posté le 18-01-2008 à 22:24:00    

Yo :o
 
J'ai le message suivant, systématique quand je tente de valider mes pages web:
 
[quote]Line 1, Column 0: character "" not allowed in prolog.
 
<!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/T[quote]
 
Etc :o
 
Mes premières recherches m'ont indiqué que c'est le BOM en tête de document qui ne devrait pas être interprété (et le valideur me le signale), et que si il l'est, c'est parce que le valideur ne recevrait pas le bon charset. Cependant:
 
* mes fichiers sont encodés UTF8 (avec BOM)
* Apache 2.2, n'émet pas de charset par défaut (d'après la doc, et je n'ai pas de directive concernant "charset" dans httpd.confi)
* PHP est configuré pour émettre du text/html charset=UTF-8 par défaut.
 
Donc que j'ajoute un header() avec la même chose dedans ne change rien.
 
Qu'est-ce que j'ai raté? :??:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 18-01-2008 à 22:24:00   

Reply

Marsh Posté le 18-01-2008 à 22:32:17    

Un doctype ia une case spécial déjà...

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  2.    "http://www.w3.org/TR/html4/strict.dtd">


 
aprés je sais pas...
 

Code :
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


 
??

Reply

Marsh Posté le 18-01-2008 à 22:46:38    

J'ai modifié le doctype mais apparemment, la capitalisation n'a pas d'importance pour la validation ;)
 
J'ai toujours un meta pour le content-type et le charset qui est bien celui-là mais pour déterminer le type de fichier, je me demande si il n'arrive pas trop tard de toute façon :??:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 19-01-2008 à 00:01:57    

Sur ton site je vois ça avant :
 

Code :
  1. <?phpphpxml version="1.0" encoding="ISO-8859-1" ?>


 
phpphpxml ??


Message édité par xtof_83 le 19-01-2008 à 00:02:43
Reply

Marsh Posté le 19-01-2008 à 00:08:56    

Oh putain il est récent celui-là [:xx_xx] (je l'ai mis à jour récemment)
 
Mais la page que j'essaie de tester est en local, pas sur mon site ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 20-01-2008 à 18:41:15    

C'est simple, télécharge PS-Pad, choisis le codage UTF-8 sans BOM et renregistre ton fichier. :)


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 21-01-2008 à 09:38:50    

Les docs utf-8 avec BOM sont très mal gérés par plein de monde, donc vaut mieux virer le bom

Reply

Marsh Posté le 01-02-2008 à 21:57:15    

Bon, ça fait un moment que je n'avais plus touché, et je fais un dernier update de ce topic pour dire que le bug n'est pas dans Apache ou PHP mais bien dans mon code. Je viens de m'en apercevoir en voyant qu'avec une autre page brol machin aussi en UTF-8, elle valide correctement.
 
(En plus dans mon autre page, le problème s'est aggravé, j'ai un retour de chariot qui se fout avant le doctype :D)
 
Bref, un coup de debug et il n'y paraîtra bientôt plus.
 
CyberDenix: la dernière fois que j'ai testé PSPad, ça allait jusqu'à corrompre le contenu de la fenêtre alors bon... (j'utilise Crimson Editor, il fait aussi la différence entre documents avec/sans BOM)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed