Semantic Weblog aufgestockt

Ich habe hier ja das Semantic Weblog-Plugin von ben am Laufen. Feine Sache das. Auch wenn sich ben inzwischen (zurecht) in der Hinsicht auf Drupal konzentriert, begnügt sich meinereiner — so als anspruchsloser WordPress-Nutzer — gerne damit.

Zwei Dinge sind jedoch selbst im anspruchslosen Auge noch ein Dorn: Zum einen die falsche Einordnung der Metadaten im Register, die Umlaute am Wortanfang beinhalten; zum anderen die Metadaten zu Filmen und deren Links auf die IMDb. Bei zwei oder mehr Filmtiteln mit Links kann WordPress allein durch die reinen Angaben schlecht erraten, welcher Link zu welchem Titel gehört.

Beim ersten Problem muss ich die Segel streichen — momentan & wohl auch in Zukunft keinen Plan, wie man diese falschen Einordnung ausmerzen könnte. Aber zumindest letzterer Punkt konnte (wenn auch mit Verzögerung) in Angriff genommen werden. Ist nun Vergangenheit. Ein paar zusätzliche Zeilen Code und (bei mehreren Filmeinträgen mit oder ohne imdb-Link) pro Filmeintrag einen „Relationsschlüssel“ und schon finden die richtigen Links zu den richtigen Filmtiteln. Vielleicht nicht die eleganteste Lösung, aber sie funktioniert wenigstens.

Mittwoch, 23 Januar 2008

4 Stimmen

# ben_

*freu*

Das freut mich aber sehr. Nicht, dass ich verstanden hätte, was genau es macht. Aber es freut mich. So soll das sein. Eines Tages weiß der Lehrer nicht mehr was der Schüler mit dem Wissen und den Werkzeugen anstellt, die er ihm gegeben hat.

Danke!

# sanduhrs

Ohne das Plugin zu kennen, schmeisse ich mal eine wilde Vermutung in den Raum: Möglicherweise liegt die falsche Einordnung der Metadaten mit Umlauten am Anfang an der Kollation der Datenbank.

„A collation is a set of rules for comparing characters in a character set—essentially, it defines the alphabetical order for a character set. For instance, the character Ö in a German character set is usually treated as OE for ordering purposes.“
from http://safari.oreilly.com/0672328631/ch14lev1sec2

Siehe auch die Doku von MySQL http://dev.mysql.com/doc/refman/5.0/en/charset.html

Grüße.

# fym

sanduhrs: Jau, das war auch mein erster Gedanke, nur passt es dann nicht ganz, dass Begriffe wie „Öffentlichkeit“ oder „Überwachung“ grundsätzlich unter A aufgelistet werden. Wenn ich das richtig verstanden habe, sollte ersterer doch wenigstens unter O eingeordnet werden. Hm.

ben_: Hehe, wobei ich ja selbst die meiste Zeit nicht genau weiß, was ich anstelle.

Inzwischen habe ich das Ganze nochmals umgeschrieben. Zuvor wollte ich — bei vorhandenem Metaeintrag zum Titel und dem IMDb-Link — zusätzlich ein Schlüssel/Wertpaar benutzen, dass jene zwei Sachen miteinander in Relation setzt (also als Wert sowas wie „Hero–>IMDb-Link“ hat). Das erschien mir dann komischerweise erst heute sehr aufgeblasen und redundant.

Nun nutze ich einfach das sowieso vorhandene Feld „*_imdbid“ aus, ohne die bisherigen Einträge umschreiben zu müssen. Bei nur einem eingetragenen Film kann der Link ohne Umschweife wie gehabt da reingeschrieben werden. Bei mehr als einem Film- und IMDb-Eintrag bekommt nun letzterer je die Form „Filmtitel–>IMDb-Link“. Damit wird dann anhand des Strings vor „–>“ der zugehörige Filmeintrag gesucht und der Link entsprechend zugeordnet.

Okay, wirrer umschrieben, als eigentlich nötig. Wie geschrieben: nicht besonders elegant, aber es verrichtet den Dienst, so wie es soll. Zu sehen z.B. im Eintrag zu „House of Flying Daggers„.

# fym

Hm, nochmal nachgeschaut. Das character set der Datenbank ist latin_1, das des Blogs utf8. Die mysql-Version hier von all-inkl ist älter und kennt allen Anschein nach utf8 nicht bzw. hat grundsätzlich latin_1 als Voreinstellung. Die Umlaute werden wohl dank letzterem Zeichensatz dementsprechend z.B. als ä, Ãœ usw. dargestellt. Das dürfte zumindest erstmal erklären, warum die Daten, einmal aus der DB geholt, hier immer unter Buchstabe A einsortiert werden.

Von Eingriffen in die DB selbst lasse ich besser die Finger. Zeichensatzspiele gruseln mich.

Stimme erheben