Textdatei schreiben - Problem mit Sonderzeichen (ü,ö,ä, ...)

symax

Mitglied
Hallo ;)

erst mal mein Problem:

Ich benötige in meinem Programm eine Schnittstelle um eine Textdatei als Ausgabe zu erstellen. Dies klappt auch ohne Probleme.
Die Textdatei wird erstellt und kann auch angeschaut werden, ö,ü, ... sind korrekt dargestellt. Wenn ich nun mit dieser Datei arbeiten will (dient als importdatei für Buchhaltungssoftware) sind alle ö,ü,ä,... falsch dargestellt (?, ect.). Wenn ich die Datei mit der älteren Version VB6 schreiben lasse, sind aber die zeichen korrekt dargestellt (im Programm UND in der Textdatei). Ist der Ländercode falsch? Ich füge den VB08 expresscode und den älteren VB6 code (der funktioniert hat) an, ich benötige halt den für VB08 :)

Ich danke schon im vorraus für eure Mühen und eure Hilfe


---------------------------------------------------------------------------------------------
VB 2008 ESPRESS CODE (ä,ü,... falsch im Programm, korrekt angezeigt)
weis nich mehr was benötigt worden ist, da so viel zeugs in dem Programm benötigt wurde, auf jedenfall ist das dabei (IMPORT)
Code:
Imports Microsoft.Win32
Imports System.IO
imports System.Data.OleDb.OleDbConnection
Code:
Dim FiStr As FileStream = New FileStream(saving, FileMode.Create)
            Dim StrWr As StreamWriter = New StreamWriter(FiStr)
Code:
StrWr.WriteLine(inhalt_der_Zeilen)
Code:
StrWr.Close()

---------------------------------------------------------------------------------------------
VB 6 CODE (alles korrekt, brauche jedoch vb 08 code)
Code:
Dim tmp
tmp = App.Path & "\temp.txt"
Open tmp For Output As #3
Code:
Print #4, Inhalt_der_Zeilen
Code:
Close #4
 
Hi.

Vermutlich unterstützt deine Buchhaltungssoftware keine Unicode Zeichensätze.

Code:
Dim StrWr As StreamWriter = New StreamWriter(FiStr, Text.Encoding.Default)
Gruß
 
Hallo deepthroat,

danke für die Hilfe =)

nur eine kleine Änderung:

Code:
Dim StrWr As StreamWriter = New StreamWriter(FiStr, System.Text.Encoding.Default)

MFG
Symax
 
Zuletzt bearbeitet:
nur eine kleine Änderung:

Code:
Dim StrWr As StreamWriter = New StreamWriter(FiStr, System.Text.Encoding.Default)
Warum? Elemente des System Namensraumes sind standardmäßig immer verfügbar. \edit: Vermutlich hast du eine Variable oder eine Klasse die Text heißt und somit den Text Namensraum überdeckt, aber das liegt ja dann an deinem Code und ist völlig irrelevant, so dass die Anmerkung hier ziemlich sinnlos war.

Gruß
 
Zuletzt bearbeitet:
Warum? Elemente des System Namensraumes sind standardmäßig immer verfügbar. \edit: Vermutlich hast du eine Variable oder eine Klasse die Text heißt und somit den Text Namensraum überdeckt, aber das liegt ja dann an deinem Code und ist völlig irrelevant, so dass die Anmerkung hier ziemlich sinnlos war.
Gruß

Hallo deepthroat
wenn ich den code so eingebe, meldet mit VB 08 express immer einen Fehler, so (mit System.xxx) hat es halt funktioniert ;)

P.S.: Habe keine Klasse oder Variable die text heißt
Wollte dies nur anmerken falls jemand den selben Fehler hat ^^

MGF
Symax
 

Neue Beiträge

Zurück