Ich mach jetzt auch mal was mit diesem Post-Privacy-Ding

Wer meint, Urlaubsdias seien privat und uninteressant und gehörten nicht ins öffentliche Netz, dem muss ich demonstrieren, dass es noch Privateres und Uninteressanteres gibt: mindestens das öffentliche Üben von Musikstücken. Also mache ich das jetzt mal.

Der Hintergrund: ich spiele seit einem halben Jahr Ukulelespielen. Ein paar Griffe und musikalisches Grundwissen habe ich noch von der Gitarre. Aber da war ich nie auch nur akzeptabel. Der Grund ist vermutlich der, dass ich nicht gut singen kann. Dabei mag ich Lieder sehr gerne, jedenfalls dann, wenn sie Geschichten erzählen. Irgendwann untersuche ich mal meine Liedersammlung nach Erzählhaltungen, also ob sie in der 1., 2. oder 3. Person erzählen, was die Gesprächssituation darin ist, welches Tempus sie benutzen. Ich vermute schon mal, dass da mehr simple past dabei ist als üblich. – Aber wie gesagt, selber singen ist nicht so gut, aber ich höre leider auch, dass es nicht klappt.

Mit der Ukulele geht das etwas besser. Das ist ein niedliches, friedliches, ganz wenig furchteinflößendes Instrument. Kennengelernt habe ich es mit elf oder zwölf Jahren, als ich – kinderkrank im Bett? – den Doppelband Im Dutzend billiger gelesen habe. Das spielt in den zwanziger Jahren, und als die ältesten Töchter der Familie dann langsam für Jungs interessant werden, tauchen die ersten Studenten auf – im klapprigen Auto, mit Waschbärfellmantel und eben auch einer Ukulele. Lange Geschichte, das ganze. Die Stefan-Raab-Ukulele vor zehn Jahren oder so hat mich kalt gelassen, aber als vor einiger Zeit das Ukulele Orchestra of Great Britain in meinem Umkreis auftauchte, wurde mir das Instrumten wieder in Erinnerung gerufen. Und jetzt klimpere ich darauf herum.

Vor drei Wochen etwa habe ich das entdeckt, was ich jetzt häufig und vergnügt treibe: Clawhammer Ukulele. Das ist eigentlich eine Banjo-Spielweise (5 Saiten, davon die erste höher gestimmt als erwartet), die sich aber gut auf die Ukulele übertragen lässt (4 Saiten, davon die erste eine Oktave höher gestimmt als erwartet – quasi so, als wäre bei der Gitarre das eigentlich tiefe E ein hohes). Das besondere daran: diese hohe Saite wird immer wieder als eine Art hoher Bordun gezupft (mit dem Daumen, relativ regulär), die anderen Saiten werden, wenn sie einzeln gespielt werden, von Mittel- oder Zeigefinger nach unten geschlagen.

Und das will ich jetzt öffentlich üben. Heute gibt es meinen ersten Versuch, aufgenommen mit dem eingebauten Laptop-Mikrofon. Ausgesucht habe ich mir Big Rock Candy Mountain:

Das sind Versinger und Verspieler, Text- und Aussprachefehler drin, aber ich lass das mal so. Die Theorie dahinter: Ich poste alle vier, oder vielleicht auch zwei, Wochen eine Aufnahme. Dann sehe ich wenigstens, ob ich mich verbessert habe, und durch die Öffentlichmachung zwinge ich mich dazu, das auch wirklich zu tun und dabei zu bleiben. Andere Leute machen jeden Tag ein Foto von sich.

Zum Lied: Kennengelernt über O Brother, Where Art Thou? – ein Filmtitel, der selbst wiederum aus dem genialen Sullivan’s Travels stammt. Arrangiert habe ich das Lied selber, denn sonst dürfte ich es hier ja nicht veröffentlichen. Notiert habe ich es mit dem kostenlosen Powertab Editor, der für meine Bedürfnisse fast ausreicht. Leider nur fast, bei den Fingerpositionen in der jeweils unteren Zeile sollten die Achtelschläge grafisch miteinander verbunden sein. Das geht wohl nicht mit dem Programm.


An der Formatierung muss ich noch ein bisschen feilen, und Feinheiten wie Hammer-ons baue ich ein, wenn ich bei dieser einfachen Grundversion sicher genug bin. Ich ändere auch immer wieder etwas daran, so dass die Version oben auch nicht ganz aktuell ist. Es fehlen auch noch weitere Strophen.

Mein Unterricht 2011 (Unterrichtminus sozusagen)

Dieses Schuljahr unterrichte ich nicht nur kein Englisch (im vierten Jahr, mehr oder weniger), sondern auch kein Deutsch – stattdessen nur Informatik. Das ist ungewohnt, auch weil ich, äh, kleiner Fachbetreuer für Deutsch bin. Kein Schulaufgabeneintrag, keine Schulaufgabenkorrekturen, nur Nebenfachlehrer sein. Ich unterrichte dieses Jahr aber auch nicht gar so viele Stunden, unter anderem deswegen, weil ich mit einem Drittel meiner Stunden an die LMU teilabgeordnet bin, wo ich bei der Schnittstelle zwischen Lehrerausbildung, Schülerförderung und Studierendenunterstützung helfen soll. Mehr dazu später im Jahr, wenn ich mich sicherer fühle und Routine eingekehrt ist. Noch wird alles von einer akut dräuenden Informatikkonferenz herrscht – die LMU richtet jedes Jahr den Tag der Informatik (TdI) aus, dieses Jahr kombiniert ist mit dem jährlich wandernden überregionalen Informatiklehrertag Bayern (ILTB) – der wo ich vor zwei Jahren in Passau war. Mit der Organisation habe ich nicht viel zu tun, habe nur etwas ausgeholfen und ein schlechtes Gewissen deswegen. Ich halte auch einen kurzen Vortrag und bin entsprechend nervös deswegen.

Meine Informatikklassen in der Schule: Jahrgänge 9, 10 und 11. Zumindest die eine 9. Klasse war gleich sehr begierig. “Machen wir wieder Robot Karol? Lernen wir endlich Java?” Ich habe dann die Inhalte des Faches in den nächsten Jahrgangsstufen vorgestellt, damit die Schüler wissen, was auf sie zukommt. Und natürlich heftig geworben. Nach Stundenende wurde ich dann noch gefragt, ob man nur Java lernt oder auch C++, und was die bessere Programmiersprache ist. (Eine Frage, die bei Neuntklässlern völlig in Ordnung ist. Später dann nicht mehr) Ich habe dann die Vor- und Nachteile von Python, Java und C kurz erklärt. Das ist ein großer Unterschied zu den Vorkenntnissen bisheriger Jahrgänge, ich habe bisher allerdings immer nur 10. Klassen und darüber kennengelernt – entweder ist das also eine Ausnahme, oder tatsächlich eine Tendenz, oder die 9. Klasse treibt den Schüler das Interesse aus. Immerhin: zum ersten Mal sind bei den Mailadressen der Schüler auch googlemail-Adressen dabei und nicht nur web.de oder gmx. Das sehe ich schon mal als positives Zeichen.

Neues vom Fach Deutsch: der jährliche Kontaktbrief der Deutsch-Abteilung ISB, der an alle Deutsch-Gymnasiallehrer geht, nur dass er eben nicht geht, sondern abgeholt werden muss, weil man vermutet, dass ein neuer Kontaktbrief am ISB erschienen ist, und man auf deren Webseiten vorbeischaut, weil die den Schulen in gedruckter Form zugegangene Fassung eben auch nicht immer zugeht und weil RSS ein Fremdwort ist in dieser Welt – der jährliche Kontaktbrief heißt jetzt Kontakbriefplus. Hervorhebung nicht von mir. Was steht drin dieses Jahr? Dass die Stundenzahl von Deutsch im G8 von uns “weitgehend begrüßt” wird und wir uns keine falschen Hoffnungen auf vierstündiges Deutsch in der 10. Jahrgangsstufe machen sollen. Wenigstens ist eine Online-Umfrage zum Lehrplan für Oktober angekündigt. Da werde ich dann mal weitgehend begrüßen. Außerdem hat sich am ISB das Wort “Subtext” eingebürgert für den Text auf Notizenseiten bei Präsentationssoftware. Als ich studiert habe, war Subtext noch etwas anderes.

Im KontaktbriefPlus steht, dass der bayerische Lehrplan weiterentwickelt wird zu einem LehrplanPLUS. Hervorhebung auch diesmal nicht von mir. Ausführlichere Informationen über den LehrplanPlus und den Lehrplanplus (Schreibvarianten nicht von mir) gibt es auf Papier in Schulverwaltung Bayern, Heft 4 und 5/2011 und nicht im Web. Hier bei der Hans-Seidel-Stiftung findet Google ein pdf-Scan der Papierartikel. Wird eventuell bald verschwinden. Es kompetenzelt natürlich heftig in den Unterlagen, bei der einen Präsentation wird wie immer nur Mathematik als Beispiel herangezogen.
Das Wichtigste in Kürze: die Aufbereitung von Lehrplanplus ist online-optimiert und digital aufbereitet. Die verschiedenen Teile des Lehrplansplus sind datenbankgestützt miteinander verknüpft. Der Lehrplanplus besteht aus einem verbindlichen Lehrplan und ergänzenden Informationen – Aufgabenbeispiele, Materialien, Medien, Bekanntmachungen. Das erfordert eine Verschlagwortung. Insgesamt heißt das dann Lehrplaninformationssystem oder kurz LIS und stellt das Material in Form einer Datenbank bereit. Es gibt einen passwortgeschützten Bereich für Lehrkräfte. Anvisiert ist wohl 2015 dafür. Neu auch: Das System soll für alle allgemeinbildenden Schulen verwendet werden, deren Lehrpläne auch besser aufeinander abgestimmt werde sollen “zur Vermeidung von Brüchen in der Bildungsbiografie” von Schülern.

Zuletzt noch ein Hinweis auf eine schöne Erweiterung für Firefox oder Chrome (und andere Browser): Ghostery. Die zeigt, wenn man es denn so einstellt, beim Besuch einer Seite im Browser an, welche externen Zähldienste alles Informationen über den Besuch erhalten. Bei der Süddeutschen Zeitung sind das zwei, Google AdSense und Facebook; bei faz.net ist es INFOnline; bei bild.de sind es 7: zwei Facebook-Varianten, INFOnline, Google Analytics, Nugg.ad, SMART AdServer, Vibrant Ads. Die kann man mit Ghostery auch ausschalten. Die Links oben führen jeweils zu kurzen Informationsseiten bei Ghostery:

Nugg.ad operates a European advertising platform. With unique predictive behavioral targeting, nugg.ad offers customized, cooperative solutions that make it possible for online marketers, agencies and advertisers to increase efficiency, performance and branding impact of online campaigns. Through nugg.ad, target groups for real-time campaigns can be booked instantly and in a standardized format from any nugg.ad client.

Smart AdServer develops and markets ad serving technologies for the management of online campaigns for media agencies and publishers. They provide publishers, ad networks, agencies and advertisers with an integrated display, video, rich-media and mobile ad serving solution. Smart AdServer is a subsidiary of the Axel Springer Group.

Vibrant Media is a contextual advertising network hosting the IntelliTXT platform on Web sites. The IntelliTXT platform underlines keywords on a site and serves an advertisement associated with those words when users hover of them. Advertisers pay to have their ads associated with particular words.

Ist ja alles nicht verboten, aber vielleicht auch noch nicht hinreichend bekannt. Schöne Idee für den Informatikunterricht: Wer findet die Seite mit den meisten externen Zählern?

(Auf dieser Seite sind es übrigens zwei: Google+1 und und Piwik. Letzteres ist lokal auf meinem Server gehostet, also habe ich zumindest Kontrolle über diese Daten.)

Das bayerische Schulverwaltungsprogramm ASV

Hear ye, hear ye! Zeichen erscheinen am Himmel. Ein solches Zeichen ist die Dienstvereinbarung über die Einführung und Anwendung des bayerischen Schulverwaltungsprogramms ASV (pdf), die man auf der Verkündungsplattform der Bayrischen Staatsregierung einsehen kann. (Ich sage das Wort “Verkündungsplattform” zu gern.)

ASV ist das von der Regierung den Schulen zu Verfügung gestellte Schulverwaltungsprogramm, das bald, oder zumindest schon seit vielen Jahren, die aktuelle Programmsuite WinSV ablösen soll.

Gedacht ist das Programm zur Verwaltung der Lehrerdaten, zur Erstellung der Unterrichtsverteilung (welche Lehrkraft unterrichtet in diesem Jahr in welchem Fach in welcher Klasse) und zur Stunden- und Vertretungsplanerstellung (das ist gegenüber dem Vorläufer neu – wird sich aber kaum gegen professionelle externe Software durchsetzen).
Über die Verwaltung der Schülerdaten mit ASV steht nichts in dieser Dienstvereinbarung; die ist zwischen dem Ministerium und dem Hauptpersonalrat und klärt deshalb nur, welche Lehrerdaten wie und wie lange gespeichert werden und von wem sie eingesehen werden dürfen.

Eine Kurzfassung:

(Quelle: das oben verlinkte KWMBl Nr. 17/2001, S. 269f.)

Das wäre doch gleich etwas für den Deutschunterricht, kompetenzorientiert Tabellen verstehen: “Entwirf eine Reihe von Quizfragen, mit dem du das Wissen darum, was erlaubt ist und was nicht, überprüfen kannst.” Aha: Lehrerkürzel dürfen nicht an Schüler und Erziehungsberechtigte gegeben werden, aber im Vertretungsplan erscheinen. (Mein Kürzel lautet übrigens RAU. Der Personalrat darf nicht die Sprechstunden einsehen, aber man darf sie aushängen.)

Lehrerlaubnis: das ist die missio (canonica) und bezieht sich auf die kirchliche Erlaubnis, katholischen Religionsunterricht zu geben.
Lehrbefähigungen: sind damit die Fakultäten gemeint, also was man studiert hat? Das ist doch das Lehramt in der Zeile darunter?
Ermäßigungen/Anrechnungsstunden: Darf der Personalrat erfahren, dürfen aber nicht im Lehrerzimmer aushängen. (Zumindest über manche muss die Schulleitung allerdings die Lehrer informieren.)

Das Schuljahr beginnt, Projektsoftware, Datenschutzfragen

Das Schuljahr beginnt, wenn auch langsam. Ich muss erst einmal den Informatik-Kongress letzte Woche verdauen, von dem ich mir mehr Anregungen geholt habe, als ich je umsetzen werden kann (und die ich erst einmal sortieren muss). Aber das ist okay, man braucht ja viele Möglichkeiten, Dinge im Unterricht umzusetzen, damit man auswählen kann, was gerade passt.

Ein Höhepunkt war sicher der Vortrag von Stefanie Scherzinger über Methoden der Software-Entwicklung, vor allem Agile Softwareentwicklung (Wikipedia), wie sie sie auch selber bei Google anwendet.

Für das Programmierprojekt in der Q11 (meine Beispiele) braucht man tatsächlich irgendeine Art von Entwicklungsmethode. Bei uns war es einfach ein großes schwarzes Brett in Form eines GoogleDoc-Dokuments, auf das jeder Teilnehmer Lese- und Schreibzugriff hat.
Aber die Formulierungen dort waren sehr allgemein: “Datenbank episch perfektionieren: episch angefangen” stand da oder “Bilder colorieren: episch erledigt”, mit dem Namen des aktuellen Bearbeiters.

Eine Möglichkeit der Verbesserung wäre, beim nächsten Mal das Projekt gleich bei Google Code zu hosten. [Nachtrag 2015: Mitte des Jahres hat Google das Codehosting eingestellt.] Der Vorteil: Man kann Aufgaben erstellen, kann sie Leuten zuweisen oder diese sich sie nehmen lassen, kann vor allem den Programmcode in verschiedenen Versionen zentral dort sammeln. Nachteil: Ist vielleicht etwas abschreckend für ein kleines Schulprojekt. Außerdem muss das Projekt open source sein – damit habe ich kein Problem, aber vielleicht die Schüler bzw. eigentlich sogar deren Erziehungsberechtigte.

Eine andere äußerst schöne Projektplanungssoftware ist Trello, hier bei Lifehacker kurz beschrieben. Das ist nicht dazu gedacht, Softwareversionen zu verwalten, aber Projekte kann man damit intuitiv und einfach planen:

Man legt ein Projekt an (“board”), zu jedem Projekt können Teammitglieder senkrechte Listen hinzufügen, in meinem Beispiel: Ideen, Aufgaben, Aufgaben in Arbeit, Erledigtes. Jeder Liste kann man Karteikärtchen anfügen, die einen Titel haben, aber dazu noch Abstimmungen, Links, Dateianhänge und Checklisten enthalten können. Den Aufgaben können Teammitglieder zugeordnet sein, man kann Karteikärtchen auf andere Listen verschieben. Alles sehr einfach und übersichtlich. (Nur eine Terminverwaltung ist nicht dabei. Ist vielleicht okay, man kann ja Listen anlegen mit dem Titel “Zu erledigen bis + Datum”.)
Nachteil: eine Anmeldung ist erforderlich. Das hätte ich gerne auf einem eigenen Server laufen.


Ansonsten noch gefunden (via Felix Schaumburg): “Lehrer spähen Schüler im Internet aus”, und zwar indem die Lehrer einer Schule sich unter Pseudonym bei SchülerVZ, Facebook und einem regionalen Chat anmelden. Skandal.

Also, reden muss man schon mal darüber, ob das erlaubt ist. Aber eine Nummer kleiner geht auch. Wo habe ich neulich gelesen, dass ein Gesetzesentwurf vorbereitet wird, der es Firmen verbietet, bei Vorstellungsgesprächen dem Kandidaten in einem sozialen Netzwerk (gemeint: Facebook, aber natürlich überhaupt nicht abgrenzbar, dieser Begriff) nachzuforschen? Kann fast nur Deutschland gewesen sein.

Ähnlich die Argumentation der Sächsischen Zeitung:

Zudem dringen die Lehrer in die Online-Privatsphäre der Jugendlichen ein: Viele Schüler laden persönliche Fotos hoch, lästern über Lehrer und Klassenkameraden, verwenden sogar Schimpfwörter

Der Knackpunkt ist der Begriff “Online-Privatspäre”. Ich habe schon mal darüber geschrieben: Schüler teilen die Welt in “schulisch” und “privat” – alles, was nicht schulisch ist, ist privat. Außerschulische Menschen teilen die Welt in “öffentlich” und “privat”. Es müsste klar sein, dass Internet in der Regel heißt: öffentlich. Wer Informationen privat halten möchte, kann das auch bei Facebook tun – muss sich aber selber darum kümmern.

Andererseits ist allen klar, dass eine Firma keinen Privatdetektiv damit beauftragen darf, bei einer Kandidatin herauszufinden, ob sie eventuell schwanger ist. Und mal schnell bei Facebook geschaut, ob da eine Schwangerschaft öffentlich gemacht wurde? Hm. Ich sehe das Problem. Deshalb stand in dem Gesetzesvorschlag – wo war das gleich wieder, zefix – ja auch, dass nur auf Erlaubnis des Angestellten auf bestimmten Webseiten nach ihm gesucht werden dürfte. Viele Leute wollen ja explizit, dass ihr Web-Profil gefunden wird.

Unrealistisch ist so ein Gesetz allemal.

Zurück zu den Lehrern: Ich würde mich wehren gegen eine Dienstanweisung, meinen Schülern bei Facebook hinterherzuschnüffeln. (Geplant: Frankreich.) In meiner Eigenverantwortung als Pädagoge: will ich bei Facebook machen dürfen, was a) nicht allzu verboten ist, b) nicht gegen meine pädagogischen Aufgaben verstößt und c) mir sinnvoll erscheint. Theoretisch muss ja jeder bei Facebook mit seinem echten Namen arbeiten. Aber schon sehr theoretisch.

Auf dem Weg zum Kongress.

image

Versuche, nach Informatiker auszusehen.

(Münster, INFOS2011)

Nachtrag: Denn ja, ich bin noch nicht in der Schule – war das nur letzte Woche, noch ohne Schüler, friedlich und aufgeräumt. Ich hätte schon ganz gerne eine Klausur-Woche in der Schule, in der sich Lehrer treffen und in Ruhe Dinge besprechen. Zum Beispiel Ende Juli: Bis dahin Normalbetrieb, in der letzten Woche die Schüler nach Hause schicken und dann Zeugnisse erstellen und das kommende Schuljahr planen. Am Freitag gibt es dann die Zeugnisse und Ferien.

(Allerdings: der Wunsch vieler Familien, diese Woche schon in den Urlaub zu fahren und die Zeugnisse später mal abzuholen, wäre verständlich.)

Zurück zur Sache: bin auf einem Informatik-Didaktik-Kongress an der Uni Münster. Gleich ist Eröffnung, WLAN läuft.

Ich freue mich aber schon auf die Schule und die Schüler, auch wenn ich dieses Jahr nur Informatik unterrichte und kein Englisch, nicht mal Deutsch. Ich unterrichte einfach zu wenig, und das geht für das Mangelfach Informatik drauf.

Kleines Entzifferungsproblem

Im Auftrag der Ahnenforschung: Ich habe hier in sehr schlechter Qualität den Scan einer Registration Card eines Verwandten von 1917. Geboren in England, ausgewandert, eingebürgert. Ich soll beim Entziffern helfen.

Das meiste ist klar: geboren am 28. eines Monats im Jahr 1887. Darunter Naturalized citizen. Frau und fünf Kinder. Aber dazwischen, über dem Farming, steht der Geburtsort. England, London – aber was heißt das davor?

Den Scan habe ich leider tatsächlich nicht größer. Kennt sich hier vielleicht jemand aus mit Londoner Stadtteilen oder Vororten, historischen oder aktuellen?

Verlängerung des Leistungsschutzrechts für Musikaufnahmen

Texter und Komponisten genießen das Urheberrecht an ihren Werken. (Genießen wird meistens der Rechteinhaber, also der, dem sie die Verwertungsrechte verkauft haben.) Das regelt die GEMA. Darüber hinaus sind Musikaufnahmen geschützt, also konkrete Einspielungen eines Werk auf einer Platte. Das regelt nicht die GEMA, soweit ich weiß. Diese Musikaufnahmen sind zur Zeit 50 Jahre lang ab Erscheinen geschützt. Das reicht eigentlich auch. Die diesbezügliche Rechteinhaberindustrie will aber mindestens 70 Jahre haben, weil jetzt langsam die großen Hits eintrudeln.

2009 stimmte das Europaparlament der Verlängerung zu, kam aber wegen einer fehlenden Mehrheit im Ministerrat nicht durch. Das soll jetzt nachgeholt werden.

Netzpolitik dazu, dann iRights.info dazu.

Dort gibt’s auch eine Broschüre, die die angeblichen Vorteile der Regelung widerlegt. Es eilt ein bisschen, das ganze. Danach will’s wieder keiner gewesen sein.

ISO 8859–1, UTF‑8 und Wordpress

(Theoretischen Teil überspringen und gleich zur Lösung der Aufgabe springen, die im Titel angekündigt wird. Aber das ist nur für technische Blogbastler interessant.)

Inzwischen ist aus einem kurzen Eintrag ein langer geworden, und er erklärt nicht mehr das, was er am Anfang sollte. Ich sollte ihn wirklich kürzen und neu strukturieren. Der Unterschied zwischen Profi und Amateur: ich werd’s einfach nicht tun. Trotzdem, für Informatik – Repräsentation von Information – wäre das schon praktisch.

1. Einführung

Wenn man am Computer etwas schreibt – im Textverarbeitungsprogramm oder im Blog – ist ein “a” nie nur ein “a”. Man drückt zwar die entsprechende Taste auf der Tastatur und ein “a” erscheint. Wenn man das dann speichert, wird ein “a” gespeichert. Sollte man meinen, aber das ist nicht so. Das hat jeder schon mal gemerkt, dem es die Umlaute beim Speichern verhagelt hat, oder der eine Mail kriegt, in der solche Sätze auftauchen:

ich w�rde es begr��en, wenn du mir nicht so etwas schreiben w�rdest

oder in der einem

Viele Grüße

gewünscht werden. (Sieht man auch immer wieder mal bei Track- oder Pingbacks in Blogs.)

Wer ist da schuld, was ist da passiert, wie kann man das vermeiden?

Einen ausgezeichneten Überblick zu diesem Thema gibt “The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)”. Ich habe mich für diesen Artikel sehr bei ihm bedient – dort steht das alles noch viel ausführlicher und interessanter.

Hier eine Kurzfassung und ein paar wichtige Begriffe.

2. ASCII

Zeichen werden wie alles im Computer durch Zahlen repräsentiert. Ein früher Standard dazu hieß ASCII (Wikipedia). Nach diesem Kodierungssystem werden für jedes Zeichen 7 bit reserviert, was einen Vorrat von 128 möglichen Zeichen ermöglicht. Die Zeichen mit den Nummern 0 bis 31 sind Sonderfälle, sogenannte nicht druckbare Zeichen, aber von Nummer 32 bis 126 sehen die Zeichen vertraut aus:

 !"#$%&'()*+,-./0123456789:;=>?   (Nr. 32–63)
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_   (Nr. 64–95)
`abcdefghijklmnopqrstuvwxyz{|}~    (Nr. 96–126)

Das Zeichen mit der Nummer 32 ist das Leerzeichen, das große A hat die Nummer 65, die Tilde ist die Nummer 126. (Die Nummer 127, das letzte der 128 ASCII-Zeichen, ist wieder ein Sonderfall.)

Gespeichert wird ein Wort, zum Beispiel “Abel”, als Folge der ASCII-Zeichen-Nummern: 65–98-101–108.

Allerdings fehlen bei diesem System europäische Sonderzeichen – Buchstaben mit Umlauten und Akzenten und noch exotischeres Zeug. Zur Lösung gab es zwei Möglichkeiten: Entweder man schafft einen eigenen europäischen ASCII-Dialekt, bei dem die Nummer 93 eben nicht für ”]” steht, sondern für “Ü”. Dann können auch Deutsche wunderbar schreiben, müssen dafür aber auf eckige Klammern verzichten. Außerdem müssen sich Sender und Empfänger von Texten (und jedes Textverarbeitungsprogramm für sich) darüber verständigen, ob ein Dokument oder auch nur ein Wort in amerikanischem oder europäischem ASCII zu lesen sein soll. Sonst liest der Amerikaner versehentlich ”]bel” statt “Übel”, wenn er eine europäische Datei oder Mail öffnet. Gespeichert wird das Wort ja als Folge der ASCII-Nummern der einzelnen Zeichen, also “93–98-101–108”, und ob das jetzt ”]bel” oder “Übel” heißen soll, das kann der Computer nicht so einfach wissen, wenn man ihm es nicht sagt. Und ein Franzose oder Däne braucht wieder einen eigenen ASCII-Dialekt.

3. ISO 8859–1

Die andere Lösung war die, für jedes Zeichen 8 bit zu reservieren statt 7. Damit hat man immerhin einen Vorrat von 256 Zeichen zur Verfügung, muss also nicht zugunsten eines “Ü” auf ein ”]” verzichten und kann beides benutzen. Die ersten 128 Zeichen blieben dabei parallel zu ASCII. Das ist praktisch, weil die in 7‑bit-ASCII gespeicherten Dateien dann genauso gut von einem 8‑bit-System gelesen werden können, ohne dass man irgendetwas umstellen muss.

Allerdings gibt es auch wieder verschiedene 8‑bit-Varianten. MS-DOS hatte sein eigenes System, Windows wieder ein anderes. (Deshalb sehen die Umlaute in unter MS-DOS erzeugten Dateien falsch aus, wenn man die Dateien als übliche Windowsdateien betrachtet.)

Verbreitet ist heute ISO 8859–1 (“Latin 1”, Wikipedia). Da sind weiterhin für jedes Zeichen 8 bit reserviert; es gibt also 256 Zeichen, die ersten 128 entsprechen dabei ASCII – das ist praktisch. Man wird also weiterhin “65–98-101–108” als “Abel” lesen. Zu den anderen Zeichen gehören europäische Umlaute, Zeichen mit Akzent, skandinavischen Zeichen, und andere. Aber auch nicht alle: das Euro-Zeichen gehört nicht dazu. Aber auch da gibt es Aushilfen (etwa ISO 8859–15), so dass ISO 8859–1 ausreicht für (laut Wikipedia):

Afrikaans, Albanisch, Baskisch, Dänisch, Deutsch, Englisch, Färöisch, Finnisch, Französisch, Irisches Gälisch, Isländisch, Italienisch, Katalanisch, Niederländisch, Norwegisch, Portugiesisch, Rätoromanisch, Schottisches Gälisch, Schwedisch, Spanisch, Swahili und Wallonisch.

Kyrillisch geht mit ISO 8859–5, Mitteleuropäisch (darunter Ungarisch, Tschechisch, Polnisch) mit ISO 8859–2.

Viele polnische Seiten sind also, vermuten wir erst einmal, in ISO 8859–2 kodiert. Da ist das Zeichen Nummer 163 das hier: “Ł”. (Wird die gespeicherte Seite als ISO 8859–1 interpretiert, würde an derselben Stelle das Zeichen mit der ISO-Nummer 163 aber so dargestellt werden: “£”.)
Man kann das schnell mal ausprobieren: in jedem Browser kann man von Hand die Kodierung einstellen, in Firefox unter “Ansicht/Zeichenkodierung”. Da kann man dieselbe Seite mal so betrachten, als sie in ISO 8859–2 geschrieben, mal als sei sie ISO 8859–1. (Beispiel: polnische Seite in ISO 8859–2 kodiert.)

Exkurs:

Aber woher weiß der Browser denn am Anfang, wie er die Seite darstellen soll. Ob der Seitenersteller ein “Ł” oder ein “£” darstellen will? Die Kurzfassung: im schlimmsten Fall rät er, aber normalerweise steht im Kopf einer sauber geschriebenen HTML-Seite, welche Kodierung der Browser zur Darstellung nehmen soll, etwa so:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

(Bis zu dieser Stelle weiß der Browser aber noch nicht, wie die Seite kodiert ist, muss also stillschweigend davon ausgehen, dass er wenigsten diese Stelle schon mal richtig dekodiert hat. Interessante Frage, das.)

Quizfrage

Wie habe ich es denn geschafft, sowohl das Zeichen “Ł” als auch ein “£” auf dieselbe Seite zu kriegen? Beide Zeichen sind doch die Nummer 163? Das geht mit reinem ISO 8859–1 tatsächlich nicht, und mit reinem ISO 8859–2 ebensowenig. Eine Lösung bietet HTML: da gibt es die Möglichkeit, Zeichen direkt auszuwählen:

  • &Lstrok; wird in HTML immer so dargestellt: Ł
  • &pound; wird in HTML immer so dargestellt: £
  • &Auml; wird in HTML immer so dargestellt: Ä
  • &ouml; wird in HTML immer so dargestellt: ö

Das funktioniert immer und unabhängig von der Kodierung, jedenfalls solange das & und die folgenden Zeichen richtig erkannt werden, die deshalb alle aus dem gemeinsamen Zeichenvorrat kommen. Für viele Sonderzeichen gibt es in HTML solche festen Zeichen, hier eine Liste davon.

Das ist aber nicht die einzige Lösung für dieses Problem.

4. Unicode

Meine eigene Seite ist jetzt aber gar nicht mal in ISO 8859–1 kodiert, und die meisten polnischen Seiten, die ich gefunden habe, sind ebensowenig in ISO 8859–2 kodiert, sondern in wieder etwas anderem: UTF‑8.

Um das zu erklären, muss ich etwas zu Unicode sagen. Unicode geht die Sache mit den Zeichen von einer anderen Seite aus an: jedes Zeichen auf der Welt kriegt eine eindeutige Unicode-Nummer, einen sogenannten code point. Das sind zur Zeit laut Wikipedia über 109.000 Zeichen aus 93 Alphabeten, einschließlich Linear B, Phönizisch und I‑Ging-Hexagramme. Die Zeichen des Voynich-Manuskripts und Tengwar (Tolkiens Elbenschrift) sind aber noch nicht dabei; für letzteres läuft gerade ein Aufnahmeantrag.
Hier kann man sie sich alle anschauen. Platz ist im Unicode-System für mehr als eine Million Zeichen.

Das ist natürlich eine sprachwissenschaftlich und politisch nicht uninteressante Sache: was ist ein Buchstabe, was gehört zu einem Alphabet? Unicode wird deshalb auch kritisiert (Wikipedia deutsch, mehr bei englisch). Trotzdem ist das mit dem Unicode eine praktische Sache: jeder Buchstabe kriegt eine platonische Entsprechung als code point.

Der Buchstabe A des lateinischen Alphabets hat zum Beispiel den code point U+0041. Die Zahl ist dabei im Hexadezimalsystem zu lesen, 0041 entspricht im Dezimalsystem der Zahl 65. Wie schon damals im ASCII-Code… denn ja, die code points der lateinischen Buchstaben ohne diakritische Zeichen entsprechen den alten ASCII-Nummern.

Das Zeichen U+03B2 sieht bei mir im Browser so aus: β, das Zeichen U+00DF so: ß. In manchen Schriftarten mögen die Zeichen sehr ähnlich sein, aber die Codierung macht klar: das eine ist ein beta, das andere ein sz/scharfes s. Wenn für das Unicode-Zeichen in meinem Browser kein Zeichensatz vorgesehen ist, sieht man stattdessen so etwas Komisches wie hier bei U+010900, dem ersten Buchstaben des phönizischen Alphabets: &#x10900. Zur Darstellung müsste ich mir dann wohl mal einen passenden Zeichensatz herunterladen.

(Fußnote: Zeichensätze auch für exotischere Unicode-Codepoints findet man leicht. Code2000 bzw. desssen Nachfolger – Wikipedia dazu – werden wohl nicht mehr weiter aktualisiert, versuchen aber, möglichst viele Zeichen darzustellen.)

UTF‑8

Unicode ist allerdings erst mal nur ein Verzeichnis aller Zeichen und eine eindeutige Zuweisung eines code points. Wie man das dann speichert, ist wieder eine andere Frage, unsere alte Frage von oben, nur dass ich halt nicht “A” einer Zahl zuordnen muss (z.B. A=>65), sondern “U+0041” (z.B. U+0041=>65).

Da gibt es UTF-32, bei dem für jedes Zeichen 32 bit (4 Byte) reserviert werden. Damit kann man für jedes Zeichen aus einem Pool von 232 Buchstaben auswählen, also 4 294 967 296. Das reicht für alle Unicode-Zeichen, aber 32 bit pro Zeichen sind eine ganze Menge Platzverschwendung. Viel verbreiteter ist dagegen UTF‑8: da sind die häufigsten Zeichen mit 8 bit kodiert – wir ahnen es schon, das sind unsere alten Freunde aus dem 7‑bit-ASCII-Zeichensatz, nämlich die Unicode-Zeichen 0–127. Die weniger häufigen Zeichen sind dann im 16-bit-Bereich kodiert, darunter die Umlaute. Und die selteneren Zeichen sind bei UTF‑8 mit bis zu vier Byte kodiert. Das heißt, dass ein Dokument aus hundert seltenen Zeichen viermal so viel Speicherplatz benötigen kann wie eines aus häufigen Zeichen. Selten jedenfalls aus amerikanischer Sicht.

(Fußnote: Hier sieht man die verschiedenen Kodierungsmöglichkeiten etwa von U+10900.)

5. MySQL-Datenbank von ISO auf UTF‑8 umstellen, und wie ich überhaupt auf diesen Kram komme

Das Blogsystem Wordpress speichert die Beiträge nicht als Datei auf einer Festplatte ab, sondern in einer Datenbank. Aber auch dazu muss man wissen, welche Kodierung zum Speichern verwendet wird – damit man die gleiche Kodierung zum Lesen verwenden kann. Wenn ich ein Dokument in ISO 8859–1 in der Datenbank speichere und danach beim Herauslesen als UTF‑8 interpretiere, kriege ich Schwierigkeiten bei den Umlauten und Sonderzeichen, andersrum natürlich ebenso.

Standardmäßig war früher bei Wordpress-Installationen ISO 8859–1 als Kodierung für die Datenbank eingestellt. Das heißt, wenn ich ein “A” getippt habe, wurde das letztendlich als 65 gespeichert (hexadezimal: 41), wenn ich ein “ö” getippt habe, dann wurde das letztendlich als 246 gespeichert (hexadezimal: F6). Wenn ich den in der Datenbank gespeicherten Eintrag dann wieder lese, wird die 65 als “A” interpretiert (in ISO, aber auch in UTF‑8 und in ASCII), die 246 wird als “ö” interpretiert – aber eben nur in ISO, nicht in UTF‑8, wo ein “ö” durch 50070 repräsentiert wird (hexadezimal: c396) und 246 überhaupt nicht definiert ist. Dann werden stattdessen kleine Rauten mit Fragezeichen darin angezeigt.

(MySQL-Experten mögen mir die grobe Vereinfachung verzeihen.)

Inzwischen ist die Standard-Kodierung bei Wordpress-Installationen UTF‑8. Und das hat bei meinem ISO-Wordpress zu Problemen geführt. Ich weiß auch nicht, woran das liegt – aber immer wieder mal ist ein Blogbeitrag beim Speichern falsch kodiert worden. Alle Umlaute hat’s mir verhagelt. Das war sehr lästig. Auf dieser Tabelle sieht man links das geschriebene Zeichen (ISO), rechts das, was gespeichert wurde (nämlich fälschlicherweise als UTF). Ich tippte ein “ü”, das nach ISO-Kodierung letztendlich als (hexadezimal) fc gespeichert werden müsste, tatsächlich wurde es aber nach UTF-Kodierung letzendlich als (hexadezimal) c3bc gespeichert – und aus diesen zwei Byte werden, wenn man das dann als ISO liest, eben à und ¼.

Also wollte ich meine Datenbank von ISO auf UTF‑8 umstellen. Das ist aber gar nicht so einfach. Es gibt eine Reihe von Plugins dazu. Ich habe einige davon ausprobiert; sie funktionieren alle nicht. Das steht auch so bei Wordpress selber, wo diese Seite eine Anleitung dazu gibt, wie man die Kodierung der Datenbank umstellt:

https://codex.wordpress.org/Converting_Database_Character_Sets

Und die Seite ist gespickt mit: “Tu’s nicht” und “Es ist schwierig”, und das ist tatsächlich auch knifflig. Sehr umständlich. Manche Spalten mancher Tabellen müssen in ein exotischeres Format kopiert werden, und von diesem wieder zurück ins andere Format kopiert werden. Aber nicht alle, und nicht alle gleich. Ich würde die Finger davon lassen.

Es geht nämlich auch einfacher, jedenfalls für schlichte Wordpressbenutzer wie mich.

Deshalb hier meine schlichte Lösung für das Konvertieren einer Datenbank von ISO 8859–1 nach UTF‑8:

  1. Eine zweite, leere Datenbank anlegen. In die kommt später die UTF-8-Version, die Original-DB lassen wir unangetastet.
  2. Die Originaldatenbank als SQL-Dump herunterladen.
  3. Der SQL-Dump ist eine – möglicherweise lange – Textdatei im ISO-Format. Das war ja unser Problem. Diese ISO-Datei mit einem geeigneten Textverarbeitungsprogramm öffnen und als Unicode-Datei speichern.
    – Das geht bei Windows einfach mit WordPad: “Speichern unter”, Format “Unicode-Textdokument”. Das wird dann übrigens wohl eine UTF-16-Datei, mit zwei Byte pro Zeichen. Vielleicht geht das auch mit Word oder Writer oder Notepad++. Eine Schwierigkeit ist allerdings, dass man nicht unbedingt sieht, was da wirklich im Text steht, da ein ü sinnvollerweise immer als ü gezeigt wird, egal ob es tatsächlich so aussieht: ü (UTF) oder so: ü (ISO). Wobei “tatsächlich” natürlich das falsche Wort ist.
  4. In der neu entstandenen Datei sollten jetzt alle Umlaute so komisch aussehen, nämlich durch zwei andere Zeichen repräsentiert – wenn ich die Datei nicht als Unicode-Datei betrachte.
  5. Diesen neuen SQL-Dump jetzt in die frische Datenbank hochladen. Zuvor mit Suchen/Ersetzen schauen, ob beim Anlegen der Tabellen in den SQL-Befehlen als Zeichensatz oder Kollation ISO/Latin 1 angegeben ist; das muss dann natürlich raus. (Hier gab es bei mir Schwierigkeiten. Erstens, weil die Datei recht groß ist. Zweitens, einfach so. Aber der Download mit phpMyAdmin und der Upload mit HeidiSQL danach hat geklappt.)
  6. Fertig. Die config.php mit den Zugangsdaten zur zweiten Datenbank versehen und schauen, ob das Blog mit der neuen Datenbank funktioniert. Dabei muss man Wordpress in den Einstellungen sagen, dass ab jetzt UTF‑8 gilt und nicht mehr ISO. Dann – aber erst dann – kann man die ursprüngliche Datenbank löschen.

Das darf man alles bestimmt nicht. Und es führt zu grässlichen Datenbanken, Greueln im Auge des Herrn. Furchtbaren Hybriden oder so etwas. Ausprobieren auf eigene Gefahr, und ein paar SQL-Kenntnisse sind sicher hilfreich. Wer viel SQL kann, der wird sicher laut lachen und sagen, dass das alles doch viel einfacher geht.
Aber was soll ich sagen: bei mir funktioniert’s.

Anhang, nachträglich:
Mit einem Hex(adezimal)-Editor kann man sich anschauen, wie auf der Festplatte gespeicherte Dateien wirklich aussehen. (Na ja, wirklicher jedenfalls.) Hier zwei Textdateien in einem Hex-Editor dargestellt, die nur aus dem Text “Das ist ein Übel.” bestehen. Entschuldigung, ich wollte ein großes Ü drin haben.

Die obere Datei ist in Windows-1225 gespeichert, das ISO-8859–1 sehr ähnlich ist. Das Zeichen “D” ist durch die Zahl 44 kodiert, das Zeichen “a” durch “61” (jeweils im Hexadezimalsystem). Pro Zeichen ein Byte. Der Editor ist so nett, rechts daneben gleich die gängige Entsprechung der Byte-Zahl anzuzeigen, so dass man nicht nur die tatsächlich gespeicherten Bytes sieht, sondern auch einen Hinweis darauf, wofür sie vermutlich stehen.
Die untere Datei ist in Unicode-16 gespeichert. Da sind für jedes Zeichen 2 Byte (16 bit) reserviert. Das Zeichen “D” bzw. der Unicode-Codepoint U+0044 ist durch die zwei Zahlen “44” und “00” repräsentiert. Warum zwei Bytes/Zahlen? Weil das bei UTF-16 immer so ist. Aber welche Zahl kommt zuerst, die 44 oder die 00? Im Prinzip geht beides, und es gibt auch beide Varianten – die eine heißt big-endian und die andere little-endian. Um sicher zu gehen, dass man weiß, welche Version benutzt wird, steht gerne mal am Anfang einer UTF-16-Datei “FFFE” beziehunsgweise eben “FEFF”. Und ja, big-endian und little-endian stammen aus Jonathan Swifts Gulliver’s Travels.

(In UTF‑8 wäre das “D” nur durch die Ein-Byte-Zahl 44 kodiert, das “Ü” dagegen durch die zwei Bytes c3 und 9d. Und die obere Datei braucht nur halb so viel Speicherplatz wie die untere.)