-
Problème de page de code
Bonjour,
Je butte sur un problème assez énervant.
(J'ai pas mal cherché à droite et à gauche, sans rien trouvé de très clair)
J'ai écrit un petit soft qui permet d'enchaîner des appels à d'autres softs qui sont en ligne de commande.
Il y a donc une ligne de commande à passer soit directement, soit via un fichier texte.
Par exemple, pour construire ce fichier texte j'utilise la class streamwriter:
Code:
Dim SWavs2 As New StreamWriter(rep_application + "\video.avs", append:=False, Encoding:=System.Text.Encoding.Default)
puis j'écris les lignes de ce fichier texte (writeline).
Le problème est que l'écriture se fait en ansi (ce que je veux), mais avec le code page de windows (1252).
L'application appelée s'attend à avoir un codage en code page 850.
Tant qu'il n'y a pas de lettres accentuées (par exemple dans un nom de fichier écrit dans le texte), tout fonctionne bien. Mais s'il y a des lettres accentuées cela ne fonctionne plus (généralement une erreur du style : fichier introuvable).
D'où ma question, comment écrire, depuis mon programme, un fichier sur le disque contenant un texte codage ansi mais avec la page de code 850 (et non 1252) ?
-
Remplace System.Text.Encoding.Default par System.Text.Encoding.GetEncoding(850)
-
Bonjour tomlev,
Un grand merci :D
Simple et efficace.
J'avais bien vu ce GetEncoding (puisqu'il est proposé) mais dans ma tête c'était pour obtenir un info et non en définir une.
Ça résout mon problème.:ccool: