-
pb codage utf-8
Bonjour,
j'ai "pondu" une petie appli. ,sous VB8 Express, de saisie dans un tableau pour générer un fichier texte. Mais à la génération de mon fichier, je me retrouve avec 3 octets "EF BB BF" en en-tête que je n'attendais pas... et l'application qui réceptionne le fichier et qui attend un nb précis d'octets en fonction du nombre de ligne de mon fichier, refuse d'intégrer mon fichier...
Quelqu'un aurait il une solution pour générer mon fichier texte sans ces 3 octets de tête ? Merci.
-
Bonjour,
Les premiers octets d'un fichier permettent souvent d'identifier son type/encodage, en l'occurrence ici effectivement il y a une signature de l'UTF8.
Pourquoi ne pas changer l'encoding du fichier que du génère (essaye Encoding.default dans ton StreamWriter) plutot que de supprimer les 3 premiers octets du fichier (ce qui ne poserait pas non plus de gros problèmes) ?
-
ok, merci pour la réponse, mais j'ai biend u mal à voir de quoi tu me parles....j'ai fait avec les moyens du bord pour générer mon fichier texte, càd que j'ai utilisé ce que je connaissais :
My.Computer.FileSystem.WriteAllText(FavoritePictures, _
"04" & "12" & seqenr & codemt & codsmt & numseq & mntstr & _
fill1 & vbNewLine, True)
je ne vois pas ce qu'est le Streamwriter ????
-
Ton code me fait dire qu'il te faudrait d'abord faire un tour du cote des FAQ et tutoriel, pour trouver des exemples d'écriture de fichier et des méthodes associées à la classe StreamWriter.
D'autre part, l'aide en ligne t'aurait permis de voir que la méthode WriteAllText (que je découvre au passage) admet deux variantes:
1) WriteAllText(String, String, Boolean)
2) WriteAllText(String, String, Boolean, Encoding)
Tu sembles avoir utilisé la première, utilise donc la seconde et renseigne le type d'encodage du fichier, ça devrait le faire...
-
l'option par défaut de l'encoding dans la fonction WriteAllText(String, String, Boolean, Encoding) est UTF-8.... , je l'ai remplacé par : System.Text.Encoding.ASCII et ça marche impec' !!
Merci bcp !!