Question

J'ai un fichier XSD codé en UTF-8, et aucun éditeur de texte que je fais fonctionner ne montre aucun caractère au début du fichier, mais lorsque je le récupère dans le débogueur de Visual Studio, je vois clairement voir une boîte vide devant le fichier.

Boîte dans le fichier

J'ai aussi le message d'erreur:

Les données au niveau racine ne sont pas valides. Ligne 1, position 1.

alt text

Quelqu'un sait ce que c'est?

Mise à jour: publication modifiée pour qualifier le type de fichier. C'est un fichier XSD créé par le créateur XSD de Microsoft.

Était-ce utile?

La solution

En fin de compte, la réponse est que ce que je vois est un marque d'ordre Byte . , qui est un caractère qui indique au document en cours de chargement quel est le contenu du document. Dans mon cas, il est codé en utf-8, de sorte que la nomenclature correspondante était EF BB BF , comme indiqué ci-dessous. Pour le supprimer, je l'ai ouvert dans Notepad ++ et j'ai cliqué sur & Encode in. UTF-8 sans nomenclature ", comme indiqué ci-dessous:

Enregistrement dans le bloc-notes ++.

Pour voir la nomenclature, je devais l'ouvrir en TextPad en mode binaire: et exécuté recherche sur Google pour " EF BB BF & ; .

mode binaire

Il m'a fallu environ 8 heures pour découvrir que c'était la cause du problème, alors j'ai pensé partager cela avec tout le monde.

Mise à jour : Si j'avais lu le billet de blog de Joel Spolsky: Le minimum absolu que chaque développeur de logiciel a absolument, absolument besoin de savoir sur l’Unicode et les jeux de caractères (pas d’excuses!) , je n’aurais peut-être pas eu ce problème.

Autres conseils

voici comment vous le faites avec vim:

# vim file.xml
:set nobomb
:wq
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top