Si je passe par ASCII, je n'ai plus les 3 caractères bizarres en début de ligne.
Même problème quand je manipule un fichier XML et que je veux le sauvegarder :
XMLDocument.Save(pFile);
<?xml version="1.0" encoding="UTF-8"?>
Précision, j'ai ces 3 caractères qu'au niveau de la première ligne des fichiers...
D'où celà peut-il venir ? Merci anticipé.
-- Delf
Bonjour, Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier encodé UTF-8. Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet StreamWriter. Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne les affiche pas !
"Delf" <abuse@wanadoo.fr> a écrit dans le message de news:
422eab69$0$31834$636a15ce@news.free.fr...
Bonjour.
J'ai un drôle de problème :
Quand j'utilise StreamWriter avec un Encoding UTF-8, j'obtiens cette ligne
:
<?xml version="1.0" encoding="UTF-8"?>
StreamWriter myWriter > new StreamWriter(pConfigFilePath, false, Encoding.UTF8);
Si je passe par ASCII, je n'ai plus les 3 caractères bizarres en début de
ligne.
Même problème quand je manipule un fichier XML et que je veux le
sauvegarder :
XMLDocument.Save(pFile);
<?xml version="1.0" encoding="UTF-8"?>
Précision, j'ai ces 3 caractères qu'au niveau de la première ligne des
fichiers...
D'où celà peut-il venir ?
Merci anticipé.
--
Delf
Bonjour,
Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier
encodé UTF-8.
Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet
StreamWriter.
Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne
les affiche pas !
Si je passe par ASCII, je n'ai plus les 3 caractères bizarres en début de ligne.
Même problème quand je manipule un fichier XML et que je veux le sauvegarder :
XMLDocument.Save(pFile);
<?xml version="1.0" encoding="UTF-8"?>
Précision, j'ai ces 3 caractères qu'au niveau de la première ligne des fichiers...
D'où celà peut-il venir ? Merci anticipé.
-- Delf
Bonjour, Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier encodé UTF-8. Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet StreamWriter. Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne les affiche pas !
Cool6a
Essaye UTF-7, ça a marché pour moi en ce qui concerne les caractères accentués, j'espere que ça va marché pour toi ;-)
"Fred" a écrit dans le message de news:%
"Delf" a écrit dans le message de news: 422eab69$0$31834$ > Bonjour. > > J'ai un drôle de problème : > Quand j'utilise StreamWriter avec un Encoding UTF-8, j'obtiens cette
ligne
> : > > <?xml version="1.0" encoding="UTF-8"?> > > StreamWriter myWriter > > new StreamWriter(pConfigFilePath, false, Encoding.UTF8); > > myWriter.Write("<?xml version="1.0" encoding="UTF-8"?>"); > myWriter.Write(myWriter.NewLine); > myWriter.Flush(); > myWriter.Close(); > > Si je passe par ASCII, je n'ai plus les 3 caractères bizarres en début
de
> ligne. > > Même problème quand je manipule un fichier XML et que je veux le > sauvegarder : > > XMLDocument.Save(pFile); > > <?xml version="1.0" encoding="UTF-8"?> > > Précision, j'ai ces 3 caractères qu'au niveau de la première ligne des > fichiers... > > D'où celà peut-il venir ? > Merci anticipé. > > -- > Delf
Bonjour, Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier encodé UTF-8. Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet StreamWriter. Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne les affiche pas !
Essaye UTF-7, ça a marché pour moi en ce qui concerne les caractères
accentués, j'espere que ça va marché pour toi ;-)
"Fred" <nospam@nospam.org> a écrit dans le message de
news:%23p0DZNIJFHA.2604@TK2MSFTNGP15.phx.gbl...
"Delf" <abuse@wanadoo.fr> a écrit dans le message de news:
422eab69$0$31834$636a15ce@news.free.fr...
> Bonjour.
>
> J'ai un drôle de problème :
> Quand j'utilise StreamWriter avec un Encoding UTF-8, j'obtiens cette
ligne
> :
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> StreamWriter myWriter > > new StreamWriter(pConfigFilePath, false, Encoding.UTF8);
>
> myWriter.Write("<?xml version="1.0" encoding="UTF-8"?>");
> myWriter.Write(myWriter.NewLine);
> myWriter.Flush();
> myWriter.Close();
>
> Si je passe par ASCII, je n'ai plus les 3 caractères bizarres en début
de
> ligne.
>
> Même problème quand je manipule un fichier XML et que je veux le
> sauvegarder :
>
> XMLDocument.Save(pFile);
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> Précision, j'ai ces 3 caractères qu'au niveau de la première ligne des
> fichiers...
>
> D'où celà peut-il venir ?
> Merci anticipé.
>
> --
> Delf
Bonjour,
Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier
encodé UTF-8.
Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet
StreamWriter.
Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne
les affiche pas !
Essaye UTF-7, ça a marché pour moi en ce qui concerne les caractères accentués, j'espere que ça va marché pour toi ;-)
"Fred" a écrit dans le message de news:%
"Delf" a écrit dans le message de news: 422eab69$0$31834$ > Bonjour. > > J'ai un drôle de problème : > Quand j'utilise StreamWriter avec un Encoding UTF-8, j'obtiens cette
ligne
> : > > <?xml version="1.0" encoding="UTF-8"?> > > StreamWriter myWriter > > new StreamWriter(pConfigFilePath, false, Encoding.UTF8); > > myWriter.Write("<?xml version="1.0" encoding="UTF-8"?>"); > myWriter.Write(myWriter.NewLine); > myWriter.Flush(); > myWriter.Close(); > > Si je passe par ASCII, je n'ai plus les 3 caractères bizarres en début
de
> ligne. > > Même problème quand je manipule un fichier XML et que je veux le > sauvegarder : > > XMLDocument.Save(pFile); > > <?xml version="1.0" encoding="UTF-8"?> > > Précision, j'ai ces 3 caractères qu'au niveau de la première ligne des > fichiers... > > D'où celà peut-il venir ? > Merci anticipé. > > -- > Delf
Bonjour, Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier encodé UTF-8. Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet StreamWriter. Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne les affiche pas !
Sylvain Collange
Delf a écrit :
J'ai un drôle de problème : Quand j'utilise StreamWriter avec un Encoding UTF-8, j'obtiens cette ligne :
<?xml version="1.0" encoding="UTF-8"?>
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec un mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
Si tu veux vraiment supprimer ce caractère, tu peux créer ton StreamWriter avec : StreamWriter myWriter new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
mais ça masquera simplement le problème jusqu'à ce que ton fichier contienne un caractère non ASCII qui ne s'affichera pas correctement.
-- Sylvain Collange
Delf a écrit :
J'ai un drôle de problème :
Quand j'utilise StreamWriter avec un Encoding UTF-8, j'obtiens cette
ligne :
<?xml version="1.0" encoding="UTF-8"?>
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec un
mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
Si tu veux vraiment supprimer ce caractère, tu peux créer ton
StreamWriter avec :
StreamWriter myWriter new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
mais ça masquera simplement le problème jusqu'à ce que ton fichier
contienne un caractère non ASCII qui ne s'affichera pas correctement.
J'ai un drôle de problème : Quand j'utilise StreamWriter avec un Encoding UTF-8, j'obtiens cette ligne :
<?xml version="1.0" encoding="UTF-8"?>
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec un mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
Si tu veux vraiment supprimer ce caractère, tu peux créer ton StreamWriter avec : StreamWriter myWriter new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
mais ça masquera simplement le problème jusqu'à ce que ton fichier contienne un caractère non ASCII qui ne s'affichera pas correctement.
-- Sylvain Collange
Delf
Fred wrote:
Bonjour, Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier encodé UTF-8.
Ahhhh... :)
Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet StreamWriter. Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne les affiche pas !
Avec UltraEdit. Jamais eu un tel problème avec.
-- Delf
Fred wrote:
Bonjour,
Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier
encodé UTF-8.
Ahhhh... :)
Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet
StreamWriter.
Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne
les affiche pas !
Bonjour, Il s'agit des "Byte Order Mark" qui permettent de reconnaître un fichier encodé UTF-8.
Ahhhh... :)
Je crois qu'on peut désactiver leur ajout dans le fichier avec l'objet StreamWriter. Mais comment les vois-tu ? Même notepad sait gérer cela correctement et ne les affiche pas !
Avec UltraEdit. Jamais eu un tel problème avec.
-- Delf
Delf
Sylvain Collange wrote:
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec un mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
UltraEdit, encodage, aucune idée...
Si tu veux vraiment supprimer ce caractère, tu peux créer ton StreamWriter avec : StreamWriter myWriter > new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
Finalement, ces caractères n'influent pas sur le fichier mais ce n'est pas présentable.
-- Delf
Sylvain Collange wrote:
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec un
mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
UltraEdit, encodage, aucune idée...
Si tu veux vraiment supprimer ce caractère, tu peux créer ton
StreamWriter avec :
StreamWriter myWriter > new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
Finalement, ces caractères n'influent pas sur le fichier mais ce n'est
pas présentable.
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec un mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
UltraEdit, encodage, aucune idée...
Si tu veux vraiment supprimer ce caractère, tu peux créer ton StreamWriter avec : StreamWriter myWriter > new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
Finalement, ces caractères n'influent pas sur le fichier mais ce n'est pas présentable.
-- Delf
Delf
Cool6a wrote:
Essaye UTF-7, ça a marché pour moi en ce qui concerne les caractères accentués, j'espere que ça va marché pour toi ;-)
Merci, je teste ca ce soir.
-- Delf
Cool6a wrote:
Essaye UTF-7, ça a marché pour moi en ce qui concerne les caractères
accentués, j'espere que ça va marché pour toi ;-)
Essaye UTF-7, ça a marché pour moi en ce qui concerne les caractères accentués, j'espere que ça va marché pour toi ;-)
Merci, je teste ca ce soir.
-- Delf
Sylvain Collange
Delf wrote:
Sylvain Collange wrote:
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec un mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
UltraEdit, encodage, aucune idée...
<troll> Et avec un vrai éditeur de texte tu obtiens quoi? </troll> Plus sérieusement, il doit y avoir moyen de lui dire explicitement que le fichier est en UTF-8...
Finalement, ces caractères n'influent pas sur le fichier mais ce n'est pas présentable.
Non, non, ce caractère au début sert normalement à indiquer aux éditeurs de texte que le fichier est en UTF-8, donc si tu l'enlève d'une part ça masque le problème et en plus ça fait une indication de moins pour l'éditeur (déjà qu'il a du mal avec...)
-- Sylvain Collange
Delf wrote:
Sylvain Collange wrote:
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec
un mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
UltraEdit, encodage, aucune idée...
<troll>
Et avec un vrai éditeur de texte tu obtiens quoi?
</troll>
Plus sérieusement, il doit y avoir moyen de lui dire explicitement que
le fichier est en UTF-8...
Finalement, ces caractères n'influent pas sur le fichier mais ce n'est
pas présentable.
Non, non, ce caractère au début sert normalement à indiquer aux éditeurs
de texte que le fichier est en UTF-8, donc si tu l'enlève d'une part ça
masque le problème et en plus ça fait une indication de moins pour
l'éditeur (déjà qu'il a du mal avec...)
Si tu obtiens ça, c'est que tu essaie de lire ton fichier UTF-8 avec un mauvais codage (Windows-1252 probablement). Avec quoi le lis-tu ?
UltraEdit, encodage, aucune idée...
<troll> Et avec un vrai éditeur de texte tu obtiens quoi? </troll> Plus sérieusement, il doit y avoir moyen de lui dire explicitement que le fichier est en UTF-8...
Finalement, ces caractères n'influent pas sur le fichier mais ce n'est pas présentable.
Non, non, ce caractère au début sert normalement à indiquer aux éditeurs de texte que le fichier est en UTF-8, donc si tu l'enlève d'une part ça masque le problème et en plus ça fait une indication de moins pour l'éditeur (déjà qu'il a du mal avec...)
-- Sylvain Collange
Ambassadeur Kosh
>> UltraEdit, encodage, aucune idée...
<troll> Et avec un vrai éditeur de texte tu obtiens quoi? </troll> Plus sérieusement, il doit y avoir moyen de lui dire explicitement que le fichier est en UTF-8...
pas à ma conaissance. UltraEdit est un editeur a vocation binaire. le texte est vu comme une suite d'octet...
sinon, je ne suis plus certain, mais soit c'est dans le XmlWriterSettings, soit c'est dans l'Encoding (mais peut probable), soit c'est dans le Stream sous jacent qu'on desactive la sortie des caracteres d'autodetect...
>> UltraEdit, encodage, aucune idée...
<troll>
Et avec un vrai éditeur de texte tu obtiens quoi?
</troll>
Plus sérieusement, il doit y avoir moyen de lui dire explicitement que le
fichier est en UTF-8...
pas à ma conaissance.
UltraEdit est un editeur a vocation binaire.
le texte est vu comme une suite d'octet...
sinon, je ne suis plus certain, mais soit c'est dans le XmlWriterSettings,
soit c'est dans l'Encoding (mais peut probable), soit c'est dans le Stream
sous jacent qu'on desactive la sortie des caracteres d'autodetect...
<troll> Et avec un vrai éditeur de texte tu obtiens quoi? </troll> Plus sérieusement, il doit y avoir moyen de lui dire explicitement que le fichier est en UTF-8...
pas à ma conaissance. UltraEdit est un editeur a vocation binaire. le texte est vu comme une suite d'octet...
sinon, je ne suis plus certain, mais soit c'est dans le XmlWriterSettings, soit c'est dans l'Encoding (mais peut probable), soit c'est dans le Stream sous jacent qu'on desactive la sortie des caracteres d'autodetect...
Sylvain Collange
Ambassadeur Kosh a écrit :
UltraEdit est un editeur a vocation binaire. le texte est vu comme une suite d'octet...
Ah oui, c'est bien ce que je disais, c'est pas un éditeur de texte ;-)
sinon, je ne suis plus certain, mais soit c'est dans le XmlWriterSettings, soit c'est dans l'Encoding (mais peut probable), soit c'est dans le Stream sous jacent qu'on desactive la sortie des caracteres d'autodetect...
Dans l'encoding, en passant false au constructeur de UTF8Encoding.
Officiellement, l'utilisation de la BOM en UTF-8 est plutôt déconseillée par Unicode, mais perso je vois pas ce que ça peut faire de mal. Au pire en concaténant deux fichiers ça rajoute un « zero-width no-break space » au milieu…
-- Sylvain Collange
Ambassadeur Kosh a écrit :
UltraEdit est un editeur a vocation binaire.
le texte est vu comme une suite d'octet...
Ah oui, c'est bien ce que je disais, c'est pas un éditeur de texte ;-)
sinon, je ne suis plus certain, mais soit c'est dans le
XmlWriterSettings, soit c'est dans l'Encoding (mais peut probable),
soit c'est dans le Stream sous jacent qu'on desactive la sortie des
caracteres d'autodetect...
Dans l'encoding, en passant false au constructeur de UTF8Encoding.
Officiellement, l'utilisation de la BOM en UTF-8 est plutôt
déconseillée par Unicode, mais perso je vois pas ce que ça peut faire
de mal. Au pire en concaténant deux fichiers ça rajoute un «
zero-width no-break space » au milieu…
UltraEdit est un editeur a vocation binaire. le texte est vu comme une suite d'octet...
Ah oui, c'est bien ce que je disais, c'est pas un éditeur de texte ;-)
sinon, je ne suis plus certain, mais soit c'est dans le XmlWriterSettings, soit c'est dans l'Encoding (mais peut probable), soit c'est dans le Stream sous jacent qu'on desactive la sortie des caracteres d'autodetect...
Dans l'encoding, en passant false au constructeur de UTF8Encoding.
Officiellement, l'utilisation de la BOM en UTF-8 est plutôt déconseillée par Unicode, mais perso je vois pas ce que ça peut faire de mal. Au pire en concaténant deux fichiers ça rajoute un « zero-width no-break space » au milieu…
-- Sylvain Collange
Delf
Sylvain Collange wrote:
Si tu veux vraiment supprimer ce caractère, tu peux créer ton StreamWriter avec : StreamWriter myWriter > new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
Là, les caractères disparaissent. Mais pas avec la méthode Save() de XmlDocument. Enfin bref, pas très grave. Merci.
-- Delf
Sylvain Collange wrote:
Si tu veux vraiment supprimer ce caractère, tu peux créer ton
StreamWriter avec :
StreamWriter myWriter > new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
Là, les caractères disparaissent. Mais pas avec la méthode Save() de
XmlDocument. Enfin bref, pas très grave.
Merci.
Si tu veux vraiment supprimer ce caractère, tu peux créer ton StreamWriter avec : StreamWriter myWriter > new StreamWriter(pConfigFilePath, false, new UTF8Encoding(false));
Là, les caractères disparaissent. Mais pas avec la méthode Save() de XmlDocument. Enfin bref, pas très grave. Merci.