2009-03-10 5 views
0

je dois écrire la chaîne suivante à un txt un fichier:System.IO.StreamWrite et personnages espagnols

SEGS, AUS1,1,0,0,712205,584,8659094,2, NUÑEZ FELIX ARTURO, 584

I lorsque j'utilise:

using (System.IO.StreamWriter sw = new System.IO.StreamWriter(@fileSobrantes, true)) { 
     sw.WriteLine("SEGS,AUS1,1,0,0,712205,584,8659094,2,NUÑEZ FELIX ARTURO,584"); 
} 

je reçois ce fichier dans le

SEGS, AUS1,1,0,0,712205,584,8659094,2, NUÃ'EZ FELIX ARTURO , 584

J'essaie avec les paramètres de codage en ASCII, UNICODE et ALL UTF et ne fonctionne pas.

System.IO.StreamWriter(@fileSobrantes, true,Encoding.UTF32)) 

Répondre

1

Vous ne pouvez pas facilement (et avec précision) représenter ce que vous obtenez dans le fichier sans donner un vidage hexadécimal. Qu'est-ce que vous essayez d'utiliser pour lire le fichier? Je suppose que si vous essayez Encoding.Default qui fonctionnera pour vous, mais il est difficile de dire à coup sûr sans savoir ce que vous essayez d'utiliser pour le lire.

L'autre alternative est que votre chaîne source est incorrecte. Si vous l'avez réellement sous la forme d'un littéral de chaîne dans votre code source, êtes-vous sûr que Visual Studio a été configuré pour l'interpréter correctement?

Voir mes unicode debugging page pour des techniques suggérées. Au fait, pourquoi préfixez-vous fileSobrantes avec @? Pour les identifiants, vous n'avez besoin de le faire que s'il s'agit de mots-clés. Vous risquez d'être confondu avec les littéraux de chaîne verbatim - mais ce n'est pas un littéral de chaîne, c'est un nom de variable.

+0

Le @fileSobrantes est parce que j'avais quelque chose comme ça "c: \ tmp \ files" et quand j'ai fait le refactoring j'ai oublié de supprimer le @. Merci –

+0

Pas de problème - content que la réponse a aidé. Qu'est-ce qui n'allait pas à la fin? –

+0

J'utilise le Encoding.Default et maintenant je peux ouvrir dans Excel, Word et WordPad correctement. Si j'ouvre en bloc-notes ou UltraEdit je reçois les mauvais caractères. Mais j'ai besoin d'ouvrir dans Excel. Merci –

Questions connexes