J'ai un programme qui, en un mot, lit les valeurs d'une base de données SQL et les écrit dans un fichier texte délimité par des tabulations. Le problème est que certaines des valeurs dans la base de données ont des caractères spéciaux (TM, tiret, points de suspension, etc.). Lorsqu'elles sont écrites dans le fichier texte, le formatage est perdu et elles apparaissent comme des ordures "â" ¢ ou â € "Correction de caractères spéciaux dans la chaîne
Lorsque la valeur est affichée dans la fenêtre immédiate, avant qu'il ne soit écrit dans le fichier txt, tout semble bien. Ma conjecture est que c'est un problème d'encodage. Mais, je ne suis pas sûr de savoir comment procéder, où regarder, ou quoi chercher.
Est-ce ASCII ou UTF-8? Si c'est l'un d'entre eux, comment puis-je le corriger avant qu'il ne soit écrit dans le fichier texte.
Voilà comment je construis le fichier texte (où feedStr est un StringBuilder)
objReader = New StreamWriter(filePath)
objReader.Write(feedStr)
objReader.Close()
Mikael, vous êtes l'homme! Cela a fonctionné comme un charme! Réponse parfaite! – s15199d
PRESQUE ... Je l'ai changé pour Encoding.GetEncoding ("utf-8") Qui fixe tous mes caractères spéciaux. Mais, maintenant, il se faufile avec le délimiteur ControlChars.Tab. FYI ... mon fichier de sortie doit être encodé en UTF-8, mais il va à Google et c'est le format requis. – s15199d
Vous pourriez probablement utiliser Encoding.UTF8 au lieu de GetEncoding. –