45 votes

Comment corriger l'avertissement de validation "Marque d'ordre d'octet trouvée dans un fichier UTF-8" ?

J'ai une page xhtml qui valide sous le doctype xhtml strict - mais je reçois cet avertissement que j'essaie de comprendre - et de corriger.

Comment puis-je localiser ce "Byte-Order Mark" errant ? J'édite mon fichier à l'aide de Visual Studio - je ne sais pas si cela peut aider.

Avertissement Marque d'ordre d'octet trouvée dans le fichier UTF-8.

La marque d'ordre des octets (BOM) d'Unicode dans les fichiers codés en UTF-8 est connue pour poser des problèmes à certains éditeurs de texte et navigateurs anciens. Vous pouvez envisager d'éviter son utilisation jusqu'à ce qu'elle soit mieux supportée.

57voto

T.J. Crowder Points 285826

La partie de votre question concernant l'emplacement est facile : la marque de l'ordre des octets (BOM) se trouvera au tout début du fichier.

Lors de l'édition du fichier, dans la barre d'état inférieure vers la droite, VS Code vous indique quel encodage est utilisé pour le fichier actuel :

Status bar showing "UTF-8 with BOM"

Cliquez dessus pour ouvrir la palette de commande avec les options "Réouvrir avec encodage" et "Enregistrer avec encodage" :

The command palette showing the options

Cliquez sur "Enregistrer avec le codage" pour obtenir une liste de codages :

Command palette showing list of file encodings such as UTF-8, UTF-16 LE, UTF-16 BE

Le choix d'un encodage permet d'enregistrer le fichier avec cet encodage.

Voir aussi cette note dans la FAQ du site Unicode à propos des fichiers BOM et UTF-8. Il n'a pas d'autre fonction que de signaler que le fichier est, en fait, UTF-8. En particulier, il n'a aucun effet sur l'ordre des octets (la raison principale pour laquelle nous avons des BOMs), car l'ordre des octets d'UTF-8 est fixe.

1 votes

J'avais l'intention de voter pour ce projet, mais j'ai voté pour ce projet par accident et je ne m'en suis pas rendu compte pendant 2 jours, et maintenant il est verrouillé et je ne peux pas le changer... mais cela m'a aidé à corriger les avertissements w3c qui me gênaient, donc merci quand même.

1 votes

@andygoestohollywood : :-) Merci pour les explications, je me suis demandé sur le moment pourquoi quelqu'un avait rétrogradé la réponse. Je pourrais modifier la réponse pour que vous puissiez l'annuler, mais je ne vois rien de constructif à changer et je n'aime pas la pousser sur la liste "active" juste pour annuler un vote. Je suis heureux que cela vous ait aidé !

1 votes

Pour quiconque regarde ceci dans la décennie actuelle, File -> Advanced Save Options a été retiré de VSC il y a quelque temps. Appuyez sur "UTF-8 with bom" en bas à droite, cliquez sur "Save with encoding" et sélectionnez UTF-8.

25voto

Voici comment j'ai résolu ce problème :

  1. Télécharger et installer Notepad++

  2. Ouvrez le fichier avec Notepad++

  3. Dans le menu, sélectionnez "Encodage" et réglez-le sur "Encoder en UTF-8 sans BOM".

  4. Sauvegardez le fichier et la nomenclature disparaîtra.

7voto

Leo Points 451

Pour ceux qui utilisent Visual Studio et qui voient le point rouge gênant sur bitbucket en 2018, il suffit d'aller dans Visual Studio à "File" -> "File.cshtml Save As..." et de sélectionner "Save with Encoding..." :

Save with encoding

Ensuite, un écran s'affiche pour vous permettre de modifier l'encodage, essayez de regarder tout en bas dans la liste jusqu'à ce que vous voyiez "Unicode (UTF-8 sans signature) - Codepage 65001" :

enter image description here

Après cela, il suffit d'écraser votre fichier et de le télécharger dans votre dépôt et la nomenclature disparaîtra.

J'espère que cela vous aidera. Léo.

2voto

Hamidreza Points 1279

Pour l'éditeur intellij idea il suffit d'aller dans Fichier et Propriétés du fichier enter image description here

1voto

japetko Points 61

En Linux :

Ouvrez le fichier avec Geany .

Dans le menu " Dokument " décocher " Écriture de la nomenclature Unicode ".

Sauvez le dossier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X