Wikipedia:Technik/Archiv/Umstellung auf Unicode

Die deutsche Wikipedia ist seit dem 30. Juli 2004 auf die Verwendung von Unicode-Zeichen UTF-8 umgestellt. Mit dieser Zeichenkodierung können nun fast alle Zeichen dargestellt werden. Nur noch wenige Wikipedia verwenden den Zeichensatz ISO 8859-1¹. Die Umstellung wurde mittels eines Konvertierungsprogramms durchgeführt. Weitere Informationen finden sich im Artikel "UTF-8-Probleme", Informationen zu Umstellung der französischen Wikipedia im März 2004 unter (Details auf Französisch).

Die Umstellung

Bearbeiten

Am Donnerstag, 29. Juli 2004, ab 20:00 MESZ (18:00 GMT) wurde die deutsche Wikipedia in UTF-8 konvertiert. In der Zeit von ca. 8 Stunden blieb die deutsche Wikipedia zwar erreichbar, jedoch nur auf read-only, das heißt, dass man sie zwar lesen, jedoch nicht editieren konnte.

Zur Erklärung: Erst wurde die Datenbank gesperrt, damit zwischenzeitlich (während des Konvertierungsprozesses) keine neuen Arikel oder Veränderungen hinzukommen konnten. Anschließend wurde ein Dump erstellt und dieser konvertiert. Nachdem die Konvertierung abgeschlossen war, wurde der konvertierte Dump eingespielt und die Datenbank wieder entsperrt. Diese Prozedur dauerte etwa 8 Stunden (wobei alleine die Konvertierung 4,7 Stunden dauerte).

Nachteile von Unicode

Bearbeiten
  • Unicode wird von einigen älteren Browsern nicht oder nicht korrekt unterstützt (Internet Explorer 3, Netscape Navigator 3, aber auch Internet Explorer 5.1 unter MacOS 9). Viele dieser Browser unterstützen allerdings auch kein CSS, so dass die Wikipedia und der Rest des Internets mit ihnen ohnehin nur eingeschränkt nutzbar sind; entsprechend selten sind diese Browser noch im Internet anzutreffen.
  • Während der Umstellung (einige Stunden) wäre die deutsche Wikipedia schreibgeschützt und eine Zeit lang (<1 Std.) gar nicht erreichbar. UPDATE: das Update der spanischen Wikipedia hat ohne Downtime geklappt (nur ca. 1 Stunde Schreibschutz).
  • Der derzeit entscheidende Nachteil: es wird temporärer Speicherplatz für die Umstellung benötigt, der derzeit nicht zur Verfügung steht. Für die französische Wikipedia (knapp halb so groß wie die deutsche) wurden temporär 2 GB benötigt; zur Zeit sind nur knapp 3 GB frei. Sollte der Server Geoffrin bald von der Reparatur zurückkommen, wäre das Problem gelöst, andernfalls müsste man mal bei den Developern anfragen, ob es nicht möglich wäre, die Festplattenkapazität von Suda zu erhöhen oder aber die Konvertierung auf einem anderen PC durchzuführen. - UPDATE: Der Datenbankserver hat jetzt eine neue, größere Festplatte.

Vorteile von Unicode

Bearbeiten
  • Bessere Lesbarkeit des Quellcodes.
  • Nahezu alle Zeichen aller Schriftsysteme können nebeneinander dargestellt werden und funktionieren auf allen modernen Rechnern.
  • Einfachere Bedienbarkeit etwa per Zeichentabelle des Betriebssystems – HTML-Entities funktionieren dabei weiterhin.
  • Probleme zwischen Windows (z. B. deutsche Anführungszeichen, Eurozeichen) und Mac (z. B. km2 statt km²) erledigen sich.
  • Sonderzeichen in Artikelnamen werden möglich (z. B. für Lech Wałęsa, Vladimír Špidla).

Umstellung

Bearbeiten

Vor der Umstellung

Bearbeiten

Zunächst sollte ein möglichst vollständiger Test aller Browser gestartet werden, um herauszufinden, welche nicht Unicode-kompatibel sind. Hier können uns evtl. die Wikipedias helfen, die bereits Unicode verwenden.

Als nächstes müssen sämtliche Fehler in Artikeln gefunden und korrigiert werden, die von Windows verursacht wurden. Dabei dürfe es sich vor allem um deutsche Anführungszeichen, Eurozeichen und die OE-Ligatur Œ handeln.

Außerdem könnten einige Artikel Probleme verursachen, die derzeit HTML-Entities im Titel haben (z. B. Eulersche Phi-Funktion). Auf der französischen Wikipedia scheint aber das entsprechende Problem mit OE-Ligaturen gelöst worden zu sein (Details auf Französisch).

Während der Umstellung

Bearbeiten

Die französische Wikipedia war von 23 bis 3 Uhr schreibgeschützt. Für die deutsche Wikipedia ist also mit ca. 7 Stunden zu rechnen. Einen Schreibschutz z. B. von 0 bis 7 Uhr halte ich für vertretbar.

Darin inbegriffen ist die Zeit, in der der konvertierte Index eingebunden wird; für diese Zeit ist die entsprechende Wikipedia allerdings überhaupt nicht erreichbar. Für die französische Wikipedia hat es ca. 20 Minuten gedauert, für die deutsche sind also mit ca. 45 Minuten zu rechnen.

Nach der Umstellung

Bearbeiten

Unklar ist noch, wie mit Browsern umgegangen werden soll, die kein Unicode beherrschen. Zur Zeit ist es wohl so, dass diese auf der französischen Wikipedia Sonderzeichen zerstören (vgl. Änderungen vom 21. März). Mit den vom Wikipedia-Server empfangenen User-Agent-Strings der Browser wären folgende Strategien denkbar:

  1. Vollständiger Schreibschutz für alle Nutzer von Browsern, die bekanntermaßen Seiten zerstören. Stattdessen wird eine Seite angezeigt, auf der auf die Problematik aufmerksam gemacht wird und mit der Bitte, einen vernünftigen Browser einzusetzen. Recht einfach zu programmieren - einige User-Agents werden bereits (komplett) blockiert, z. B. einige Web Spiders - allerdings ist es denkbar, dass wir Benutzer verärgern.
  2. Schreibschutz nur für Seiten, auf denen tatsächlich Sonderzeichen vorkommen (das dürften allerdings aufgrund der Interwiki-Links die meisten sein).
  3. Alternativ: Gegebenenfalls Umwandlung der Bearbeitungsseite in ASCII oder Latin-1, Konvertierung aller Sonderzeichen in HTML-Entities. Beim Abspeichern dann Rückkonvertierung in UTF-8. Problem: erhöhte Serverlast (minimal) und vor allem hoher Programmieraufwand; es ist zu bezweifeln, dass ein Developer sich der Aufgabe annehmen wird.
Ich (°) habe das mal durchdacht und auf der Diskussionsseite dargestellt. Tatsächlich ist der Aufwand (was den Algorithmus betrifft) sehr gering, es ist ein sehr einfacher Filter; Dieser Filter könnte bei allen Wikis verwendet werden und würde bei den problematischen Browsern wohl sogar besser sein als die derzeitige ISO8859-1-Darstellung.
Eine Idee wäre eine Mischung aus 1 und 3: Browser, die sowieso nur für's Ärger machen bekannt sind (Netscape 4, iCab) bekommen eine komplett-Sperre; jene, die nur hiermit Probleme bereiten (MSIE5 auf MacOS) bekommen das Script. TheK 22:33, 19. Mai 2004 (CEST)[Beantworten]
Mit reinem ASCII sollte eigentlich jeder Browser klarkommen, oder? -- Sloyment 04:40, 22. Mai 2004 (CEST)[Beantworten]
NN4 scheitert nicht nur am Unicode, das Ding kann afaik die meisten Wikipedia-Stile nicht anzeigen und scheitert übel an der Startseite..

Meinungsbild

Bearbeiten

Auf Wikipedia:Meinungsbilder/Umstellung auf Unicode wurde bis zum 26. Juli 2004 mit 77:2 Pro-Stimmen über die Umstellung auf Unicode abgestimmt. Aufgrund der überwältigenden Mehrheit wird die Umstellung in der Nacht von Donnerstag auf Freitag (29./30. Juli) durchgeführt.

Getestete Browser

Bearbeiten

Bitte mit deinem Browser folgende Seite öffnen, leicht abändern (z. B. Leerzeile einfügen), speichern und mit dem Bild vergleichen. Ergebnis hier vermerken, wenn noch nicht existent.


Browser
95
les/schr.
98
les/schr.
NT/2k
les/schr.
ME
les/schr.
XP
les/schr.
Linux
les/schr.
OS/2
les/schr.
Mac OS 9
les/schr.
Mac OS X
les/schr.
IE 4.0 ? Hm/OK 9) ? -/- -/- -/-
IE 5.0 ? ? OK/OK 2) -/- -/- ?/KO 5) teil/Nein 5)
IE 5.5 ? OK/OK 1) ? ? ?
IE 6.0 -/- OK/OK 2) OK/OK 2) ? OK/OK 2)
IE 7.0 ? ? ? ? -/- ? ?
Mozilla 1.2.1 -/- -/- -/- -/- -/- OK/OK -/- OK/OK 1) OK/OK
Mozilla 1.5 -/- -/- OK/OK OK/OK OK/OK OK/OK 10) -/- OK/OK
Mozilla 1.6 -/- -/- OK/OK OK/OK 1) OK/OK OK/OK 7) -/- OK/OK
Mozilla 1.7b -/- -/- OK/OK 16) -/- OK/OK 1) OK/OK -/- OK/OK
Mozilla 1.7.7 -/- -/- -/- -/- -/- -/- -/- OK/OK
Firebird 0.7 -/- -/- OK/OK 1) -/- -/- OK/OK -/- OK/OK
Firefox 0.8 -/- OK/OK 1) OK/OK -/- OK/OK OK/OK -/- OK/OK
Firefox 0.9.1 -/- -/- ?/OK -/- -/- OK/OK -/- OK/OK
Firefox 0.9.2 -/- -/- OK/OK -/- OK/? OK/OK -/- OK/OK
Firefox 1.0PR -/- OK/OK -/- -/- OK/OK -/- -/- OK/OK
Firefox 1.0 -/- OK/OK -/- OK/OK OK/OK OK/? -/- OK/OK
Firefox 1.0.3 -/- -/- -/- -/- -/- -/- -/- OK/OK
Firefox 1.0.4 -/- -/- -/- -/- OK/OK -/- -/- OK/OK
Firefox 1.0.6 -/- -/- -/- -/- OK/OK 17) OK/OK -/- OK/OK
Firefox 1.5 -/- -/- -/- -/- OK/OK -/- -/- -/- -/-
Firefox 1.5.0.11 -/- OK/OK 16) -/- -/- -/- -/- -/- -/- -/-
Firefox 2.0.0.3 -/- -/- -/- -/- OK/OK OK/OK -/- -/- -/-
Netscape 4.7 -/- -/- Hm (13)/ - (15) -/- -/- -/- ? -/-
Netscape 4.79 -/- -/- -/- -/- -/- OK/- 14) ? OK/- 6)
Netscape 4.8 -/- -/- -/- -/- -/- -/- 14) ? OK/- 6)
Netscape 7.2 ? ? ? ? OK/OK ? ? ?
Konqueror 3.1.0 OK/OK 1)
Konqueror 3.2.0 OK/OK 1)
Konqueror 3.2.1 OK/OK 1)
Opera 6.0x -/- -/- -/- -/- OK/OK OK/Hm 3) -/- OK/Hm 12)
Opera 7 -/- OK/OK 2) OK/OK OK/OK OK/OK OK/OK OK/OK 13)
Opera 7.5 -/- OK/OK -/- OK/OK -/- -/- OK/OK
Opera 8 -/- -/- OK/OK -/- OK/OK OK/OK -/- OK/OK
Opera 9.5 -/- -/- -/- -/- OK/OK -/- -/- -/-
lynx 2.8 -/- -/- conf/conf 11) 8) -/- -/- conf/conf 11) 4) -/- conf/conf 11)
w3m 0.4 conf/conf 11)
Epiphany 1.0.6 OK/OK
Safari ab 1.2 OK/OK
iCab bis 2.9.8 Nein/Nein
iCab ab 3.0b280 Nein/Nein OK/OK
Camino ab 0.7 OK/OK
OmniWeb ab 4.5 OK/OK
Shiira ab 0.9.3 OK/OK

Es sollte auch berücksichtigt werden, ob (unter Windows) derjenige "Arial Unicode MS" installiert hat (ist bei Office dabei), denn dann funktionert einiges, etwa Lautschrift, wesentlich besser.

Farbcodes

Bearbeiten
  • rot – zerstört die Seite.
  • orange – Einstellungen müssen zwingend geändert werden (sonst werden Seiten zerstört)
  • gelb – Darstellungsprobleme (evtl. gehören einige hiervon doch zum nächsten?)
  • giftgrün – Darstellungsprobleme im Test, diese sind aber durch die Installation passender Schriften oder durch andere Einstellungen behebbar
  • grün – klappt wirklich alles.
  • ? – Es ist nicht bekannt, ob der Browser für dieses System verfügbar ist.
  • -/- – Browser für das System verfügbar, Status unbekannt
  • OK – keine Fehler
  • Hm – wahrscheinlich echter Browserbug
  • conf – Konfiguration muss geändert werden
  • Nein – geht nicht
  • kein Eintrag – Browser läuft unter diesem System nicht

Anmerkungen

Bearbeiten

bitte darauf achten, ob der Kommentar schon vorhanden ist!

1) Einige Zeichen werden als Kasten oder Fragezeichen angezeigt, da sie im Zeichensatz fehlen. Evtl. hilft das installieren weiterer Schriften.

2) Alles außer der Lautschrift, die Firefox korrekt anzeigt. (Arial Unicode MS installiert) Das gilt allerdings auch für die Nicht-Unicode-Version. Das Umstellen unter Allgemein/Schriftarten auf "Arial Unicode MS" oder "Lucida Sans Unicode" behebt das Problem in beiden Fällen. Wenn man dann bei Schriftgrad auf kleiner geht, ist das auch dem Auge zumutbar.

3)Das kyrillische Zeichen wurde beim Editieren nicht angezeigt, aber nachdem Schreiben (Vorschau) doch wieder. Vermutung: Im Formularfenster zum Editieren wird ein anderer Font verwendet als im Text.

4)Die Zeichen wurden so angezeigt und dann auch so gespeichert [1]. Evtl. liegts am Terminal, weiß nich, ob das utf-8-fähig is.

  • analoges Problem mit Links 0.4.3rc2 / Knoppix
  • Man muß in den Optionen »UNICODE (UTF-8)« als Display-Characterset einstellen und ein UTF-8-Terminal verwenden. (Eventuell auch LC_CTYPE=de_DE.UTF-8) Als Terminal kommen z.B. das Gnome2-Terminal oder uxterm (bei XFree86 4.3 dabei) in Frage. Siehe auch: Wikipedia:Browser-FAQ. – Hokanomono|Diskussion 09:57, 15. Apr 2004 (CEST)

5) IE 5.x unter MacOS zerstört beim Speichern Sonderzeichen (Beispiel), in der französischen Wikipedia ist das Problem bekannt.

6) Installierte Zeichensätze scheinen korrekt angezeigt zu werden, werden im Edit-Fenster allerdings zu &#xxxx; umgewandelt.

7) Mit RedHat 9 und Mozilla 1.6 werden das Kyrillische SCH und das Eurosymbol nicht korrekt angezeigt und beim Speichern anscheinend umgewandelt.

  • Mit Debian SID, Mozilla 1.6-4 konnte ich das nicht nachvollziehen. Vielleicht liegt es an kranken Fonts (soll vorkommen, dass Fonts einfach ein "a" statt eines "あ" drinnen haben). Zu was wird es beim Speichern umgewandelt? – Hokanomono 15:10, 13. Apr 2004 (CEST)

8) im DOS-Fenster kann Lynx natürlich kein Unicode darstellen; Stattdessen werden Sonderzeichen als roher Unicode angezeigt (z.B. Ôé¼ für ein Eurosymbol). Beim Speichern wird allerdings nichts zerstört. --Head 11:50, 14. Apr 2004 (CEST)

9) Das kyrillische SCH verhält sich extrem seltsam: zunächst wird ein Viereck angezeigt; wenn man weg- und zurückscrollt, wird es plötzlich korrekt angezeigt. Bei weiterem hin- und herscrollen wechselt es ständig. --80.133.34.20 15:45, 16. Apr 2004 (CEST)

10) Einige Schriftzeichen sind nicht sichtbar, werden aber sichtbar, wenn man sie mit der Maus markiert.

  • bei mir wird alles angezeigt mit Moz. 1.5 & SuSE Linux 8.2 Schusch)

11) Funktioniert, wenn UTF-8 in 'Options' eingestellt wird. Mit der Standardeinstellung werden Sonderzeichen allerdings zerstört.

12) (Opera 6/Mac) Fügt beim Editieren eine zusätzliche Leerzeile nach jeer Zeile ein.

  • Grund hierfür wahrscheinlich: Unter Unix werden Zeilenumbrüche durch Linefeed (\n) gekennzeichnet, unter Mac mit Carriage Return (\r), unter Windows mit Carriage Return + Linefeed (\r\n). Unter Windows angelegte Zeilenumbrüche werden hier möglicherweise als Unix-Zeilenumbruch mit anschließendem Mac-Zeilenumbruch interpretiert. Das klingt aber nicht nach einem Unicode-Problem. Gibt es hier wirklich einen Workaround? Andernfalls müsste der Eintrag in der Tabelle rot markiert werden. --Head   21:11, 2. Jul 2004 (CEST)

13) Findet das chinesische und ein paar Lautschriftzeichen nicht obwohl installiert.

14) Anzeige schon in der Edit-Box so kaputt, dass niemand mit gesundem Menschenverstand auf Speichern klickt.

15) (Netscape 4.7, Windows 2000) Wandelt beim Speichern alle nicht-ISO-8859-15-Zeichen in Fragezeichen um und zerstört so die Seite.

16) Ich habe allerdings bereits viele Fonts installiert. Im Lieferumfang wird man wohl ein paar Fonts installieren müssen.

17) Bis auf Chinesisch alle ohne zusätzliche Fonts darstellbar, läst sich wahrscheinlich durch zusätzliche Fonts auch darstellen (nicht überprüft).

Weiterführende Informationen

Bearbeiten

[4] ff. - Wikitech-Mailingliste zur Umstellung der französischen Wikipedia

1) Sämtliche Wikipedias laufen inzwischen auf UTF-8, bis auf die folgenden 4, die alle zu den 9 größten gehören und noch ISO 8859-1 verwenden: en, sv, nl, da (germanische Sprachen)

Folgende Wikipedias wurden erfolgreich umgestellt:

  • de (germanische Sprachen)
  • af, fy, nds, no, simple (germanische Sprachen, relativ kleine Wikipedias)
  • es, fr, la, pt, it (romanische Sprachen, relativ große Wikipedias)
  • et, ia, cs, sl, bs, vi, lt, fi, gl, eu, co, mr, id, lv, sw, tt, uk, vo, ga, na