UTF-8-Infoseite

Was ist UTF-8 überhaupt?

UTF-8 ist – in einfachen Worten gesprochen – eine Art, Zeichen zu kodieren. Das System basiert auf dem Unicode-Zeichensatz, mit dem sich alle Zeichen aller Sprachen dieser Welt unterbringen lassen.
Der Zeichensatz ISO-8859, der bisher am häufigsten benutzt wird, hat die Einschränkung, dass ein Zeichen nur mit einem Byte (8 Bit) kodiert wird, weshalb nur maximal 255 Zeichen insgesamt dargestellt werden können.
Dieses Problem ist bei UTF-8 gelöst, denn es können bis zu 6 Byte für ein einzelnes Zeichen genutzt werden.

Und was bringt das jetzt?

Mit Hilfe von UTF-8 kann jeder auf der Welt einen Zeichensatz nutzen und man kann beispielsweise im IRC mit Russen, Koreanern und Deutschen ohne Kodierungsschwierigkeiten kommunizieren - ohne UTF-8 eine Qual. Außerdem sind viele Sonderzeichen im Zeichensatz enthalten, etwa mathematische Symbole, wodurch auch Mathematik- oder anderen Wissenschaftschannels geholfen ist (der offizielle Channel zum Wikipedia-Projekt setzt auch auf UTF-8).
Hier noch einige Beispielseiten zu den zu kodierenden Zeichen:

Warum sind dann so viele Leute im IRC gegen UTF-8?

Das hat wohl mehrere Gründe, zum einen gibt es leider noch Clients, die diesen Zeichensatz nicht unterstützen. Teilweise ist die Umstellung auch etwas haarig, vor allem bei Konsolenclients wie irssi unter Linux, wo man auch sein Terminal entsprechend einrichten muss.
Einige meinen auch, das IRC sei für UTF-8 nicht geschaffen, was allerdings nicht ganz nachvollziehbar ist, denn in der Beschreibung des Protokolls (RFC 1459) ist kein Zeichensatz vorgeschrieben. Hier heißt es unter 2.2:

No specific character set is specified. The protocol is based on a a set of codes which are composed of eight (8) bits, making up an octet. Each message may be composed of any number of these octets; however, some octet values are used for control codes which act as message delimiters.

Hier ist lediglich festgelegt, dass eine Nachricht, die mit dem IRC-Protokoll geschickt wird, aus kleinsten Einheiten besteht, die 8 Bit groß sind. Auch wenn vielen – vor allem Programmierern – dies selbstverständlich erscheint, so ist es das keineswegs. Wenn man sich den Wiki-Eintrag zu "Byte" genauer ansieht, merkt man, dass nicht einmal dieser Begriff eindeutig definiert ist. Die RFC lässt weiterhin lediglich erkennen, dass die Schlüsselwörter des Protokolls, sowie einige Trennzeichen, in ASCII kodiert sind, sodass man theoretisch von einer handelsüblichen Telnetsitzung im IRC chatten kann. Da UTF-8 aber den kompletten ASCII-Zeichensatz enthält, mithin vollständig abwärtskompatibel ist, stellt das kein Hindernis dar, es im IRC zu nutzen. Es bleibt also dem User vorbehalten, was er nutzt.
Man mag auch so argumentieren, dass seit jeher ISO-8859 im IRC genutzt wurde und das gefälligst auch so bleiben sollte, aber dieses Argument wirkt eher unbedacht, wenn man sich die Vorteile von UTF-8 ansieht.

Ich habe auf UTF-8 umgestellt, aber nun sprechen mich dauernd Leute an, dass meine Umlaute kaputt sind und ich meinen Zeichensatz umstellen soll!

Das liegt oft daran, dass viele Leute nicht wissen, warum die "Umlaute kaputt sind" oder was UTF-8 ist. Gib den Leuten einfach den Link zu dieser Seite und sie können sich darüber informieren und auch umsteigen.
Viele Leute meinen auch, sie würden ihren Zeichensatz einfach so lassen, bis UTF-8 Standard geworden ist. Das Problem ist, dass das nicht einfach so passieren wird von einem Tag auf den anderen. Deshalb, geht mit gutem Beispiel voran und überzeugt die Leute. :)

Was ist mit UTF-8 außerhalb von IRC?

UTF-8 bzw. der Zeichensatz Unicode wird in vielen Bereichen bereits genutzt. Windows beispielsweise benutzt 2 Byte für die Kodierung von Zeichen mit Unicode (UTF-16). Auch die Programmiersprache Java nutzt diesen Zeichensatz. Die Linux-GUI-API GTK nutzt intern nur UTF-8 und die meisten Distributionen haben ihren Zeichensatz schon längst darauf umgestellt.
Man darf also damit rechnen, dass Unicode wird sich langzeitlich in allen Bereichen etablieren wird.

Wie stelle ich meinen Client denn nun auf UTF-8 um?

Hier nun die Beschreibung, wie ihr euren Client auf UTF-8 umstellt, jeweils mit Kennzeichnung für Windows und Linux:

Und UTF-8 außerhalb des IRC?

Weitere Fragen zu UTF-8

Linux: Wie kann ich eine ganze Datei von ISO zu UTF-8 konvertieren?

Geeignet hierzu ist das Tool "recode". Bei allen gängigen Paketsystemen zu erwerben. Es beherrscht extrem viele Zeichensätze (einsehbar mit dem Kommando recode -l), unter anderem auch UTF-8.
Um nun eine komplette Datei oder eine Dateiliste zu konvertieren, ist folgendes Kommando notwendig:

recode latin-1..UTF-8 *.txt

Statt "*.txt" darf da natürlich auch eine einzelne Datei oder eine Liste stehen.

Wo finde ich weiterführende Links zu UTF-8?

Hier eine kleine Liste von Links:


Erstellt am 15.02.2005 mit vim von Phillemann. Vorschläge, Verbesserungen oder Anleitungen für jede Art von Software, bei der man UTF-8 aktivieren kann bitte via Mail an utf8 at php-tech punkt de