Entwickler-Ecke
IO, XML und Registry - StreamReader liest keine Sonderzeichen
Delete - Mi 22.06.11 21:46
Titel: StreamReader liest keine Sonderzeichen
Hallo Leute,
habe mir ein Tool geschrieben das ganz bestimmte Sachen aus einer Textdatei herausliest, das funktioniert auch alles ganz super aber sobald ein Wort das rausgelesen wird ein Sonderzeichen wie z.b. ' hat liest er an der Stelle nur seltsame Buchstaben aus :(
Kennt da jemand eine Lösung wie ich mit dem StreamReader auch Sonderzeichen herauslesen kann ?
Grüße BleachRukia
Christoph1972 - Do 23.06.11 00:44
Hi, ich denke du musst deinem SR sagen welche Kodierung er lesen soll, also ASCII oder so. Stichwort Encoding. Schau dir mal die Überladungen von dem StreamReader Konstruktor an.
Delete - Do 23.06.11 21:14
Hallo,
bin beim SR alle System.Text.Encoding durchgegangen aber keines hat funktioniert :(
Bei diesen Buchstaben: § ´ ä ö ü ß gibt der SR immer nur ein Fragezeichen zurück :(
Grüße BleachRukia
Christoph1972 - Do 23.06.11 21:24
Hi,
passiert das auch, wenn du eine Datei einliest, die du mit z.B. dem Notepad erstellt hast?
Delete - Do 23.06.11 21:39
Hallo,
nein wird ganz normal angezeigt, habe auch im Netz jetzt alles zum Thema durchgesucht aber nichts funktioniert davon :(
Ich beschreibe mal genauer um was es geht, wenn ich im VLC eine Playlist erstellte im Format M3U, habe ich mit diesem Code versucht:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| switch (info.Extension) { case ".m3u": StreamReader m3uSource = new StreamReader(o.FileName); string m3uZeile; while ((m3uZeile = m3uSource.ReadLine()) != null) { if (m3uZeile.StartsWith("C:")) { this.richTextBox1.Text += m3uZeile; this.richTextBox1.Text += "\n"; } } break; } |
die Playlist anzuzeigen, das ist mir auch alles super gelungen aber wenn es dann um diese Sonderzeichen geht:
§ ´ ä ö ü ß, bekomme ich nur Fragezeichen an dieser Stelle wieder, das heißt ich kann auch nicht Replace benutzen um sie danach auszutauschen weil ja alle genau das selbe Fragezeichen haben und ich nicht weiß, was was ist :(
Grüße BleachRukia
Christoph1972 - Do 23.06.11 21:52
Das ist doch schon mal sehr gut das das so ist, dann ist dein Code schonmal OK und du kannst davon ausgehen, das es am Encoding liegt.
Öffne die besagte Datei mal mit Notepad++ und lass dir das Encoding anzeigen, damit gehst du dann bei Googel auf die Suche wie du das einlesen kannst. Ich hatte einen solchen Fall mal in die andere Richtung StreamWriter, ein alter Server konnte nicht mit der UTF8 Kodierung, die ich via FTP an ihn gesendet habe.
Delete - Do 23.06.11 21:56
Hallo,
habe die m3u Datei mit Notepad geöffnet, aber wo kann ich jetzt sehen welche Codierung das ist ?
Bin auf Format gegangen aber da stand nichts :(
Liebe Grüße BleachRukia
Delete - Do 23.06.11 22:09
Das normale Notepad, das standart bei Windows dabei ist.
Grüße BleachRukia
Christoph1972 - Do 23.06.11 22:14
Du solltest den anderen runter laden, ich hoffe das hilft dir dann!?
Delete - Do 23.06.11 22:20
Hallo,
habe mir Notepad++ runtergeladen und installiert, habe dann die Datei damit geöffnet, bei Kodierung ist Ansi makiert !?
Grüße BleachRukia
Delete - Do 23.06.11 22:28
Hallo,
habe es jetzt mal Ansi gegooglet und habe es noch einmal mit Default probiert und jetzt geht das, keine Anhnung wieso er das vorhint nicht gemacht hat aber jetzt geht es lol, mein Computer muss ihrgendetwas geraucht haben ^^
C#-Quelltext
1:
| StreamReader m3uSource = new StreamReader(o.FileName, Encoding.Default); |
Liebe Grüße BleachRukia
Christoph1972 - Do 23.06.11 22:40
BleachRukia hat folgendes geschrieben : |
| mein Computer muss ihrgendetwas geraucht haben ^^ |
Oder du ? :-D
Na gut das es jetzt geht!
Delete - Do 23.06.11 22:51
Hallo,
wenn ich so genauer darüber nachdenke glaube ich das ich der jeniger war der etwas geraucht hat lol, wie ich voher versucht hatte von einer WPL Playlist, die Liste herauszulesen hat er bei dem ' einen Code dadurch ersetzt, hatte gelaubt das das der SR wäre, war aber von Anfang an die Schuld des WMPs wie ich feststellen musste, das muss ich dann wohl durch Replace wieder rückgänig machen :)
Liebe Grüße BleachRukia
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!