Warning validation : "Byte-Order Mark found in UTF-8 File"

Mammouth du PHP | 1353 Messages

09 avr. 2008, 16:41

Bonjour,

En passant mes pages à la validation W3C je passe la validation avec le warning suivant :
Byte-Order Mark found in UTF-8 File.

The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.
J'ai essayé de comprendre ce que c'était sur le net mais c'est pas très clair, et je me demande si je dois faire le lien avec un autre phénomène que je constate : sur mon site j'utilise la fonction php include_once() et je sais que au niveau de celle ci sur ma page apparait un symbole totalement invisible sauf sous Word qui m'a déjà posé des problèmes...

Je ne sais pas si c'est lié mais en tous cas j'aimerai comprendre, merci à qui éclairera ma lanterne...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Mammouth du PHP | 2937 Messages

09 avr. 2008, 22:42

Vérifie le codage utilisé pour tes fichiers HTML et décoche tout ce qui se réfère à la signature BOM. ;)

Mammouth du PHP | 1353 Messages

10 avr. 2008, 09:32

Merci pour cette réponse, malheureusement je ne vois pas ce qui s'y réfère dans la mesure où je ne comprends pas réellement ce que c'est.

Mon entête html est la suivante :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head>
Tell me and I forget. Teach me and I remember. Involve me and I learn.

ViPHP
ViPHP | 4039 Messages

10 avr. 2008, 10:19

c'est dans l'encodage même du fichier qu'il faut chercher, pas dans ce qu'il contient.

Iso88591, utf8, utf16, ça se paramètre dans ton éditeur de texte.

Pour l'utf8, le BOM ajoute des informations au début du fichier. Ces infos ne corrsepondant à aucun caractère, s'ils sont mal interprêtes (non prévus par ce qui finira par lire le fichier), ils peuvent causer des caractères "vides".
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 2287 Messages

10 avr. 2008, 10:20

On en parle régulièrement sur ce forum : il existe deux manières d'enregistrer un fichier (html, php...) en UTF-8 : avec ou sans la signature BOM. Pour php (et pour le validateur w3c apparemment), il faut choisir sans BOM.

Tous les bons éditeurs de code ont une option te permettant de choisir le format d'UTF-8 préféré. Si le tien ne te le permet pas, changes-en (même si c'est juste le temps d'ouvrir/enregistrer tous tes fichiers pour les débarasser du BOM).

Edit : arf, grilled !
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 1353 Messages

10 avr. 2008, 10:47

Je code à 50% en notepad et 50% avec SharePoint Designer (oui je sais.... :p) mais donc aucun des deux ne me permet (enfin je crois pas) d'avoir accès à ces options... Quel éditeur peut me permettre de m'en débarrasser rapidement ?

Merci pour vos réponses
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Mimie
Invité n'ayant pas de compte PHPfrance

17 déc. 2011, 14:28

Notepad++ le permet, menu encodage puis convertir en UTF-8 (sans BOM)

T.K
Invité n'ayant pas de compte PHPfrance

30 avr. 2012, 21:05

Notepad++ le permet, menu encodage puis convertir en UTF-8 (sans BOM)
Merci Mimie !