• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Zeichensätze werden falsch weitervearbeitet / -geschickt

Napsty

Newbie
Hallo zusammen

Habe das Problem, dass, so nehme ich an, gewisse Abhandlungen in meinem SuSE Linux Zeichensätze falsch interpretieren.

Ausgang:
Eine XML-Datei, die Umlaute hat (allerdings keine "&xuml;"-Umlaute). Diese XML-Datei wird von einem anderen Programm so exportiert.

Problem:
Wenn ich die Datei mit dem vi anschaue, werden die Umlaute hyroglyphisch dargestellt (Vorträge), wenn ich die Datei jedoch mit more anschaue, werden die Umlaute korrekt angezeigt. Nun wird diese Datei per E-Mail automatisch verschickt (mutt -s $subject -a $maildatei $adresse < /dev/null) und der E-Mail Empfänger erhält anschliessend die Hyroglyphen-Version.

Irgendwelche Vorschläge, wie die Umlaute korrekt angezeigt werden können bzw. ob ich etwas am Zeichensatz umstellen muss?
Übrigens: Nein, ich habe nicht die Möglichkeit, die Umlaute korrekt (also &xuml;) erstellen zu lassen. Habe keine Änderungsmöglichkeit im Programm, das die Files so erstellt.

Danke im Voraus und Gruss
Napsty
 
Wenn in der XML-Datei der korrekte Header steht, z.B.
<?xml version="1.0" encoding="utf-8" ?>
ist doch alles in Ordnung, wenn der in der XML-Datei vewendete Zeichensatz dem encoding="..." entspricht.
Deine Ausgabe von `locale` bitte, und nenn' auch gleich die Distribution.
 
OP
N

Napsty

Newbie
Also die XML hat den Header <?xml version="1.0" encoding="ISO-8859-1"?>
aber ich denke nicht, dass es daran liegen würde. Es sollte nämlich auch eine txt-Datei per e-Mail verschickt werden, die ebenfalls Umlaute beinhaltet. Und diese werden auch nicht korrekt angezeigt.

Ausgabe locale:
LANG=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

Distro SLES9.
 
Napsty schrieb:
passiert normalerweise, wenn man versucht, eine UTF-8-enkodierte Datei auf einem ISO-Terminal anzuzeigen. Beachte, dass durch den Shell-Befehl `reset` derzeit ein UTF-8-Terminal auf einen ISO-Terminal zurückgestuft wird (ja, Bug, melde ich mal gleich).
wenn ich die Datei jedoch mit more anschaue, werden die Umlaute korrekt angezeigt.
Das scheint in der Tat merkwürdig. Was macht `cat` draus?
 
OP
N

Napsty

Newbie
Hi jengelh

Sorry für die späte Reaktion meinerseits..


Also cat gibt folgendes aus:
<event id="339867">
<termin>
<beginn dd="6" mm="12" yyyy="2006" hh="20" nn="15" ss="00" dw="Mi" dwnum="3" hh12="8" ampm="pm">2006-12-06 20:15:00</beginn>
<staette_infos bezeichnung="Universität St. Gallen, Hörsaal A112" lokalst="Dufourstr. 50" plzort="9000 St. Gallen" nation="Schweiz"/>
</termin>

Nun schaue ich dasselbe mit dem vi nochmals an:
<event id="339867">
<termin>
<beginn dd="6" mm="12" yyyy="2006" hh="20" nn="15" ss="00" dw="Mi" dwnum="3" hh12="8" ampm="pm">2006-1
2-06 20:15:00</beginn>
<staette_infos bezeichnung="Universität St. Gallen, Hörsaal A112" lokalst="Dufourstr. 50" plzort="90 St. Gallen" nation="Schweiz"/>
</termin>

Ich hab im Internet noch irgendwas gefunden, das auf die Terminaleinstellungen hinweist. Ist es möglich, dass es daran liegen kann?
 
Wenn es mit cat korrekt angezeigt wird, hat dein vi einen an der Schüssel. Den darfst du vielleicht mal auf UTF-8 umstellen, wenn er diese Einstellung nicht automatisch aufgrund des Terminaltyps ($LC_CTYPE) rausfindet.
 
OP
N

Napsty

Newbie
Oh wei.. und weiter im Problem-Programm...

Code:
cat grunddatenkurz.xml | mutt -s "Test" $mailaddy

Habe das jetzt ausgeführt und die E-Mail kommt ohne Umlaute an, also z.B. so:

<rubrik name="Vortr ge/Lesungen">
<event id="348507">
<termin>
<beginn dd="5" mm="12" yyyy="2006" hh="18" nn="00" ss="00" dw="Di" dwnum="2" hh12="6" ampm="pm">2006-12-05 18:00:00</beginn>
<staette_infos bezeichnung="Kunstraum Engl nderbau" lokalst="St dtle 37" plzort="9490 Vaduz" nation="F rstentum Liechtenstein"/>
</termin>
<telefonStaette>
<telefon>

Hmm mist, hier im Forum werden die [] nicht angezeigt. Statt den Umlauten erhalte ich ein Quadrat. Das bei Outlook. Bei nem Webmail-Anbieter erscheinen schwarze Quadrate mit einem Fragezeichen drin - egal was entsprechend angezeigt wird, die Umlaute werden demnach nicht richtig weitergegeben. Obwohl cat bei mir auf dem Terminal die Zeichen richtig angezeigt hat...

Bringt es was, wenn ich die Sprache auf deutsch schalte?
 
OP
N

Napsty

Newbie
Sorry für den Doppelpost.

Ok, habe es jetzt herausgefunden, es lag an der LC_CTYPE. Habe das mit
Code:
LC_CTYPE=en_US.ISO-8859-1
geändert. Anschliessend hab ich das gleich noch in die /etc/profile.local eingetragen, damit das für jeden Benutzer gilt.

Seither zeigt mir vi die Umlaute an und auch das Versenden der Umlaute klappt!
 
Oben