Umstellung auf Unicode

Aus Eressea
Zur Navigation springenZur Suche springen

Am 9. Dezember wird sich das Format der Reporte ändern, was für alle Tools ein Upgrade erfordert. Ich habe das mit den Entwicklern im Vorfeld besprochen, so dass sie das nicht jetzt erst überrascht. In der Woche der Umstellung ist aber zu empfehlen, dass ihr euch vergewissert, ob euer Tool Unicode unterstützt bzw ob eine neuere Version von Magellan, Vorlage, usw. verfügbar ist.

Was umgestellt wird

Der CR und der NR werden in Zukunft in UTF-8 kodiert. Bisher wurde ISO-8859-1 verwendet. Vorteil der neuen Kodierung ist, dass es dann auch möglich ist Zeichen zu verwenden die nicht in westlichen Alphabeten vorkommen, wie z.B. aus Esperanto oder Kyrillisch.

Kompatible Versionen bekannter Clients

  • CSMapFX ab rev. 124 (rev. 125 empfohlen)
  • Magellan ab Version 1.2.5 bzw. Version 2 (getestet mit Build 108) - Achtung, nach Neuinstallation von Magellan müssen evtl. die Kartenrenderer in Extras -> Options -> Karte neu aktiviert werden (sind evtl. inaktiv) (HOTFIX: Magellan_1_2_5e)
  • Vorlage ab Version 1.6.2-1 (Build 524)
  • ECheck ab Version 4.3.2-5
  • CRISPY ab Version crispy-0.7+dev-1030

Abwärtskompatibilität für alte Clients

Windows-User können zum Beispiel Codepage Converter, und damit das Encoding des Reports ändern (siehe Screenshot für korrekte Einstellungen).

Linux-User können ihren Report einfach mit iconv in das alte Format bringen, indem sie iconv -f utf8 -t latin1 < meinreport.cr > neuer_report.cr benutzen. Wenn das nicht funktioniert kann man alternativ auch das Programm piconv verwenden. Es ist normalerweise bei jeder Perl Installation mit enthalten.

Mac-User können eventuell mit Cyclone etwas anfangen.

11.12.2007: Von Solthar aus dem Magellan-Team stammt ein Tool extra für die UTF-8 CRs. Es ist auf sourceforge verfügbar, hier. Wähle Deinen CR oder mehere CRs, bestätige und neue CRs werden angelegt, der Dateiname automatisch um "iso" ergänzt. Verlangt java 1.4

Schritte zur Anpassung seltbstgeschriebener Clients

Die einfachste Lösung ist, in den Code der den CR einliest einen Konverter einzubauen, der bei auffinden eines "UTF-8";charset Eintrages beginnt, die eingelesenen Daten durch einen UTF-8 -> ISO-8859-1 Konverter zu schicken. Dazu kann man entweder die iconv-Bibliothek benutzen oder sich einen von zahlreichen Codeschnipseln ergooglen.

Zum Testen habe ich hier eine ZIP-Datei mit den Reporten der letzten HSE-Partie ins Netz gestellt.

Was beim Versenden von Befehlen beachtet werden muss

Ich habe da bereits eine Reihe Tests durchgeführt, um sicherzustellen dass da nichts schiefgehen sollte. Falls allerdings Probleme mit Umlauten auftauchen sollten, bitte umgehend Bugreports machen.

Oder anders gesagt: Man kann die Befehle sowohl in UTF-8, als auch ISO8859-1 senden. Zu beachten ist, dass die Angaben im (oftmals unsichtbaren) E-Mail-Header mit dem verwendeten Encoding der Befehle überein stimmen muss.

Externe Links