77575
Goto Top

Umlaute in batch an der Konsole richtig darstellen

hallo,

oh gott werden jetzt einige denken, das thema wurde odch schon tausend mal diskutiert. RICHTIG, und ich habe noch keine echte Antwort gefunden face-wink ja und ich habe auch schon bei Herrn google nachgefragt.

ich weiß wenn ich mit edit.com texte mit umlaute schreibe werden diese korrekt an der ausgabe dargestellt.
darum geht es mir aber nicht.
ich habe ganz einfach eine datei , dir mir geliefert wird , auf die ich keinen einfluss habe.
und diese datei möchte ich mit more an der konsole ausgeben.

ein ganz einfaches bsp.:
erstell eine datei text.txt mit dem inhalt
Äußerst blöd das Problämchen mit den Umläutschen im Konsölchen

dann ein batchfile test.cmd
@echo off
chcp 850
more <text.txt
pause

hab es auch mit anderen code pages probiert die ich in anderen foren oder hier gefunden habe, egal, keine umlaute.

????
ist das wirklich so kompliziert oder unmöglich die umlaute aus einer text / log datei richtig in der konsole darzustellen?


gruss 01

Content-Key: 150166

Url: https://administrator.de/contentid/150166

Printed on: April 23, 2024 at 07:04 o'clock

Member: bastla
bastla Sep 01, 2010 at 19:25:56 (UTC)
Goto Top
Hallo 01-01-01!

Verwende als Codepage 1252 ...

Etwas eleganter wäre es übrigens so:
@echo off & setlocal
for /f "tokens=3 delims=:. " %%i in ('chcp') do set "CP=%%i"  
chcp 1252 >nul
more <text.txt
chcp %CP% >nul
pause
Grüße
bastla
Mitglied: 77575
77575 Sep 01, 2010 at 19:48:14 (UTC)
Goto Top
hi bastla,

hab ich auch schon probiert.
selbes ergebnis bzw. mysteriöses ergebnis.
wenn ich in die textdatei nur die zeile Äußerst blöd das Problämchen mit den Umläutschen im Konsölchen schreibe, bekomme ich als ausgabe:

Active code page: 1252
???4???????????????????????????

wenn ich in die textdatei zwei zeilen schreiben:
hallo welt
Äußerst blöd das Problämchen mit den Umläutschen im Konsölchen

bekomme ich die normale ausgabe wo die umlaute nicht dargestellt werden.
kann das heir nicht per copy and paste einfügen. hier im feld werden dieumlaute wieder richtig dargestellt.
die ausgabe als bsp:
Active code page: 1252
hallo welt
-u▀erst blꜙd das ProblƩmchen mit den UmlƩutschen im Konsꜙlchen

wie gesagt, ich hab schon alle möglichen codepages probiert. hatte mal ne seite mit langen erklärungen zu code pages gefunden und allen möglichen codepages.

gruss 01
Member: bastla
bastla Sep 01, 2010 at 19:58:18 (UTC)
Goto Top
Hallo 01-01-01!

Dann hast Du als Ausgangsdatei vermutlich kein ANSI, sondern Unicode ...
Sollte es tatsächlich klappen, wenn Du noch eine Zeile davorsetzt, könntest Du es ja etwa so versuchen:
@echo off & setlocal
for /f "tokens=3 delims=:. " %%i in ('chcp') do set "CP=%%i"  
chcp 1252 >nul
set temptext=%temp%\text.tmp
>%temptext% echo\
>>%temptext% type text.txt
more<%temptext%
chcp %CP% >nul
pause
Grüße
bastla
Mitglied: 77575
77575 Sep 01, 2010 at 20:05:51 (UTC)
Goto Top
genau das wollte ich nicht, das ich die vorhanden datei erst "umwandlen" muss.
also gehe ich mal davon aus das es keine möglichkeit gibt die datei ohne umstände einfach an der konsole auszugeben.
das bestätigt auch meine suche im netz, es scheint wirklich nicht so einfach bzw. unmöglich zu sein.

schon witzig diese kleinen dämlichen maschinchen die wir computer nennen.
aber letztentlich liegt es wohl eher an den freaks die den ### irgendwann mal so programmiert haben.

was soll's ....

danke dir trotzdem für die mühe bastla.

gruss 01
Member: Mikefield
Mikefield Sep 02, 2010 at 07:09:17 (UTC)
Goto Top
Ich habe mir dazu im Dos Editor mal die passenden Zeichen rausgesucht und schreibe die Batch halt mit den Sonderzeichen, was die Echo Ausgaben betrifft. Dateinamen sind da leider außen vor.

ae = „
AE = Ž
oe = ”
OE = ™
ue = 
UE = š
ss = á

mf
Mitglied: 77575
77575 Sep 02, 2010 at 16:20:45 (UTC)
Goto Top
Zitat von @Mikefield:
Ich habe mir dazu im Dos Editor mal die passenden Zeichen rausgesucht und schreibe die Batch halt mit den Sonderzeichen, was die
Echo Ausgaben betrifft. Dateinamen sind da leider außen vor.

> ae = „
> AE = Ž
> oe = ”
> OE = ™
> ue = 
> UE = š
> ss = á
> 

mf

hi mf,

alles schön und gut aber wenn du meinen beitrag richtig gelesen hast,stellst du fest das iche infach nur eine datei mit more darstellen will. nix selbstgeschriebens batch script.