UTF-8-Support

Hallo,

nachdem Google mir nicht weiterhelfen konnte, frag ich hier mal.

Ich hab hier ein System mit NetBSD 5.0.1, auf dem ich gerne ohne X UTF-8-Support hätte. Das Ding soll headless über SSH laufen, also wäre es nicht so schlimm, wenn man bei wscons kein Glück hätte.

Hab in der .profile von meinem Benutzer
Code:
export LANG=de_DE.UTF-8
eingetragen und Programme wie der mc zeigen auch in PuTTY die deutsche Locale mit Umlauten an (allerdings keine großen Umlaute, also bekomme ich zwar z.B. Größe korrekt angezeigt, dann aber z.B. ▓BERVZ.!?). Gut, auf den mc könnte ich auch verzichten, allerdings geht z.B. auch die Shell kaputt, wenn ich Umlaute eingebe und sie danach lösche.

Ich hatte vor einiger Zeit schonmal mein Glück mit FreeBSD versucht und da gabs ähnliche Probleme. Hat sich, was UTF-8-Support angeht, gar nichts in der Zeit getan? :confused:

Oder stelle ich mich nur doof an?

Thomas
 
Was FreeBSD angeht kann ich deine Probleme nicht nachvollziehen. Ich verwende seit 2005 ohne Probleme UTF-8 (also seit dem Erstkontakt). Allerdings habe ich die locale auch in der ~/.login_conf bzw. in der /etc/login.conf gesetzt.

Also würde ich sagen ist das Terminal das Problem.
 
Gibts eigentlich irgendwo ein HowTo wie man (z.B. FreeBSD) komplett auf UTF-8 umstellt?
 
Einfach in der default-Gruppe in /etc/login.conf die locale richtig einstellen.

Das wird dann auf der Konsole jedoch nicht korrekt angezeigt. Im Terminal oder über ssh ist das aber kein Problem.
 
Also in der /etc/login.conf ist alles auskommentiert, soweit ich das sehe. Ich hatte der default-Gruppe dort mal das mitgegeben, was im FreeBSD-HowTo stand, das hat aber überhaupt nichts geändert. Auch in der rc.conf steht wesentlich weniger drin als in der von FreeBSD. Für die Maschine ist PuTTY ein xterm.

Was mich wundert ist, dass ä, ö, ü und ß korrekt dargestellt werden, es aber Probleme mit Ä, Ö, Ü gibt. Wenn ich in der standardmäßigen sh Umlaute eingebe, freezed die SSH-Verbindung, direkt am Rechner hört man einen Beep und es passiert nichts. Die csh gibt die Buchstaben korrekt aus, aber beim Löschen nimmt er halt mehr mit, als ich Zeichen eingegeben habe (Backspace löscht also zwei Zeichen und nicht nur das angezeigte, wenn ich ein Multibyte-Zeichen wie einen Umlaut löschen will).

Beim googlen bin ich eigentlich nur auf ein Summer-of-Code-Projekt gestoßen, welches ncurses UTF-8-Support verleihen soll (von 2005) und auf uwscons, einer Unicode-fähigen Version von wscons. Die uwscons-Seiten sind aber auch schon tot und der Code davon soll wohl auch schon in den Kernel geflossen sein.

Was das Problem mit FreeBSD damals betrifft, weiß ich nur, dass ich die Erfahrung gemacht habe, dass z.B. der mc kein sauberes UTF-8 ausspucken wollte. Wenn, dann ging es grad so mit mc -a auf der Konsole. Unter X gab es kein Problem (auf meinem Lappi bin ich auch nur deshalb zu Linux gewechselt, weil seit meiner RAM-Erweiterung FreeBSD total langsam geworden war).

Natürlich könnte ich für Deutsch einfach ISO8859-15 verwenden, aber ich muss auf der Maschine mit Daten hantieren, die nicht nur aus deutschen Zeichen bestehen, und da wäre UTF-8 echt praktisch...

Thomas
 
Hi volatile void,

also wscons kann noch kein UTF8 und uwscons hat schon ziemlich lange keiner mehr angefasst...

Aber wenn du eh per SSH zugreifst brauchst du das doch eh nicht? (ah sehe Gerade, hast du ja so aehnlich geschrieben)

Nun, falls du doch mal an einer wscons Konsole hocken solltest, installier dir doch einfach screen (und dann noch dvtm und du wirst gluecklich :) ) dann klappts auch mit UTF...

Gruss
Tobias
 
Danke für eure Antworten. :-)

Die Frage ist jetzt nur noch, warum meine SSH so rumspinnt. Hab jetzt nach dem Wiki in .profile die Locale auf de_DE.UTF-8 gesetzt und mich neu angemeldet, ich kann zwar ä, ö, ü eingeben (aber dann macht er Leerzeichen hinter jeden Umlaut), ß aber z.B. nicht (da wird dann nur ein Kästchen angezeigt).

Kann mir da noch jemand weiterhelfen?

Danke.

Thomas

Edit: In der tcsh geht es wohl jetzt, aber der mc mag nicht.
 
Zuletzt bearbeitet:
Bin selbst in diese Falle gegangen:

Es gibt unter Netbsd kein de_DE.UTF-8 in /usr/share/locale, folglich kann man diese Locale auch nicht setzen. Entweder Du nimmst en_US.UTF-8 (bitte nachschauen, da aus dem Gedächnis) oder bleibst bei de_DE.ISO8859-15.
 
Nein, mein mc kommt binär aus dem pkgsrc. Dann bau ich den mal selbst...

Edit: Wie funktioniert denn das mit screen und dvtm, was shawn-ogg erwähnt hat?
 
Wahrscheinlich oute ich mich jetzt als totaler Anfänger, aber für screen brauch ich doch, damit UTF-8 funktioniert, einen Framebuffer, oder nicht? Wie krieg ich den denn in NetBSD ans laufen? boot unterstützt den vesa-Parameter ja anscheinend erst seit NetBSD-CURRENT, mein 5.0.1 jedenfalls hat ihn noch nicht. In FreeBSD weiß ich, dass ich den Kernel mit
Code:
options VESA
options SC_PIXEL_MODE
neu bauen muss, damit vidcontrol funktioniert (das hatte ich auch schon vor längerer Zeit erfolgreich hinbekommen). Wie geht das hier? :confused:

Thomas
 
Willst du jetzt eine UTF-8 faehige "Console", also Monitor/Tastatur oder reicht dir das ganze ueber SSH, telnet, Serial?

Ich empfehle erst einmal das Problem ueber SSH anzugehen, da sind weniger komponenten im Spiel.
 
Zurück
Oben