Umlaute in Textdatei mit Eingabeaufforderung korrekt wiedergeben?
Hallo,
ich hab eine mit notepad erstellte Textdatei test.txt, in der steht Müller.
Wenn ich jetzt in der Eingabeaufforderung
type test.txt schreibe, kommt als Ausgabe
m3ller
Wenn ich die Datei nicht mit notepad sondern mit edit erstelle, wird es korrekt dargestellt. Bringt mir aber nichts, weil ich bereits eine bestehene (mit notepad) erstellte Datei mit jeder Menge Inhalt habe.
Was kann ich tun?
Danke
Martin
ich hab eine mit notepad erstellte Textdatei test.txt, in der steht Müller.
Wenn ich jetzt in der Eingabeaufforderung
type test.txt schreibe, kommt als Ausgabe
m3ller
Wenn ich die Datei nicht mit notepad sondern mit edit erstelle, wird es korrekt dargestellt. Bringt mir aber nichts, weil ich bereits eine bestehene (mit notepad) erstellte Datei mit jeder Menge Inhalt habe.
Was kann ich tun?
Danke
Martin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83520
Url: https://administrator.de/contentid/83520
Ausgedruckt am: 16.11.2024 um 14:11 Uhr
7 Kommentare
Neuester Kommentar
Grüß Dich Martin,
das liegt an der Codierung. Der
ASCII enthält 128 Zeichen.
Wenn Du mit notepad.exe eine .txt Datei speicherst wird standardmäßig in ANSI codiert.
ANSI enthält 256 Zeichen wobei die ersten 128 Zeichen ASCII-identisch sind.
Normalerweise wird in der MS-DOS Eingabeaufforderung die Codepapage 850 verwendet. Das (kombiniert mit einer ANSI codierten .txt) führt zu Deinem Problem.
Wenn Du Deine .txt´s in Notepad als Unicode codiert speicherst gibt es keine Probleme.
Allerdings weiß ich nicht was dort als Unicode gemeint ist da es auch die Auswahlmöglichkeiten UTF-8 und Unicode Big Endian gibt. Nun nehme ich einfach mal an das es sich hier bei Unicode um UTF-8 (oder 16 oder 32) Little Endian ohne BOM handelt...vielleicht aber auch UCS-2 Big Endian...wer blickt da noch durch
BG, Felix -misterdemeanor-
PS: Notepad++
das liegt an der Codierung. Der
type
Befehl war dazu gedacht ASCII Dateien auszugeben.ASCII enthält 128 Zeichen.
Wenn Du mit notepad.exe eine .txt Datei speicherst wird standardmäßig in ANSI codiert.
ANSI enthält 256 Zeichen wobei die ersten 128 Zeichen ASCII-identisch sind.
Normalerweise wird in der MS-DOS Eingabeaufforderung die Codepapage 850 verwendet. Das (kombiniert mit einer ANSI codierten .txt) führt zu Deinem Problem.
Wenn Du Deine .txt´s in Notepad als Unicode codiert speicherst gibt es keine Probleme.
Allerdings weiß ich nicht was dort als Unicode gemeint ist da es auch die Auswahlmöglichkeiten UTF-8 und Unicode Big Endian gibt. Nun nehme ich einfach mal an das es sich hier bei Unicode um UTF-8 (oder 16 oder 32) Little Endian ohne BOM handelt...vielleicht aber auch UCS-2 Big Endian...wer blickt da noch durch
BG, Felix -misterdemeanor-
PS: Notepad++
Hallo nochmal,
Wenn ich die Codepage 1252 mit der ANSI Tabelle vergleiche fällt mir auf das die Umlaute(ä,ö,ü,Ä,Ö,Ü) gleiche Codes haben.
Wenn ich mit notepad.exe eine Datei mit dem Inhalt "ä,ö,ü,Ä,Ö,Ü" als test.txt im ANSI Format speichere und am cmd.exe-Prompt
eingebe, bekomme ich eine korrekt "formatierte" Ausgabe. Ebenso wenn ich test.txt im "Unicode" Format abspeichere.
Könnte es an Deiner Batch Datei gelegen haben? Also ich persönlich hab mit Batch nix am Hut und wenn ich in eine .bat
eintippe und ausführe wird mir nur angezeigt
OK, vielleicht lässt Du Biber´s Batch-Azubi doch noch einen Blick auf den Code der ehemaligen Batchdatei werfen. Selbstredend nur wenn Du selbst noch interessierst bist, bzw. bastla "Lust" dazu hat.
Ansonsten vermesse ich mich mal Dich dazu zu bitten Wie kann ich einen Beitrag als gelöst markieren?.
BG, Felix -misterdemeanor-
Auch jetzt mit den 4 verschiedenen notepad-Varianten (Ansi, Unicode...) klappt´s mit keiner.
Wenn ich die Codepage 1252 mit der ANSI Tabelle vergleiche fällt mir auf das die Umlaute(ä,ö,ü,Ä,Ö,Ü) gleiche Codes haben.
Wenn ich mit notepad.exe eine Datei mit dem Inhalt "ä,ö,ü,Ä,Ö,Ü" als test.txt im ANSI Format speichere und am cmd.exe-Prompt
chcp 1252 <Enter>
type test.txt <Enter>
Könnte es an Deiner Batch Datei gelegen haben? Also ich persönlich hab mit Batch nix am Hut und wenn ich in eine .bat
@echo off
for /F %i in (test.txt) do echo %i
Syntaxfehler
. Aber ich kam auch nicht auf den Gedanken help for
einzutippen Aber egal, ich hab´s jetzt per vbs gemacht.
OK, vielleicht lässt Du Biber´s Batch-Azubi doch noch einen Blick auf den Code der ehemaligen Batchdatei werfen. Selbstredend nur wenn Du selbst noch interessierst bist, bzw. bastla "Lust" dazu hat.
Ansonsten vermesse ich mich mal Dich dazu zu bitten Wie kann ich einen Beitrag als gelöst markieren?.
BG, Felix -misterdemeanor-
@misterdemeanor
Vielleicht solltest Du Dich auch bei Biber bewerben ...
Dein Batch-Beispiel mit einfachen %-Zeichen funktioniert übrigens zwar als Direkteingabe, benötigt aber als gespeicherter Batch die Schreibweise %%i.
Grüße
bastla
Vielleicht solltest Du Dich auch bei Biber bewerben ...
Dein Batch-Beispiel mit einfachen %-Zeichen funktioniert übrigens zwar als Direkteingabe, benötigt aber als gespeicherter Batch die Schreibweise %%i.
Grüße
bastla
@bastla
Und Batchen lernen? Als VB´ler bin ich froh genug noch eine kleine Stufe weiter über dem von C´lern definiertem"Abschaum" zu stehen
Ah, OK, hatte es aus einem Post von Martin kopiert...
BG, Felix -misterdemeanor-
Vielleicht solltest Du Dich auch bei Biber
bewerben ...
bewerben ...
Und Batchen lernen? Als VB´ler bin ich froh genug noch eine kleine Stufe weiter über dem von C´lern definiertem"Abschaum" zu stehen
Dein Batch-Beispiel mit einfachen %-Zeichen funktioniert übrigens zwar als
Direkteingabe, benötigt aber als gespeicherter Batch die Schreibweise %%i.
Direkteingabe, benötigt aber als gespeicherter Batch die Schreibweise %%i.
Ah, OK, hatte es aus einem Post von Martin kopiert...
BG, Felix -misterdemeanor-