Scheiß Encoding

Nachdem ich heute wiedereinmal fluchend vor serialisierten UTF-8 werten saß, hier mal meine Heutigen Erkenntnisse zum Thema.

UTF-8 sollte einfach immer und überall im Web Standard sein und wer heutzutage noch irgendwas dagegen hat soll mir einen vernünftigen Grund liefern.

Drupal speichert Daten gerne Serialisiert. Also lese ich diese aus und lasse die PHP Funktion unserialize darüber laufen. Problem sobald [ßöäü] drin ist klappte es nicht mehr.

Okay also ein Encoding-Problem. Google hilft nicht wirklich weiter. Empfehlungen welche ich gefunden habe waren folgende.

  • base_64_encode – bevor man in die DB schreibt. [1]
    • klappt nicht, da ich in die Drupal Save nicht eingreifen möchte.
  • irgendwelche magischen preg_replace zum nachzählen der Serialisierten Strings [2]
    • Will ich auch nicht machen, nicht mehr wartbar und außerdem kann ich dann nie sicher sein das die Daten in der Datenbank korrekt sind.

Ergebnis war das ich analysiert habe wie (also mit welchem Encoding) Drupal auf die Datenbank zugreift. Ergebnis hier war „natürlich“ UTF-8.

Nun mein Datenlese-Tool greift per mysqli ohne genau definiertes Encoding darauf zu. Somit holt sich mein Tool die Daten in ISO-irgendwas.

Damit hat mein eingelesener Beispiel String: „Scheiß Encoding“ eine länge von 15. Nun steht aber in der Datenbank der Serialisierte Wert: s:16:"Scheiß Encoding"; dieser Umstand bringt unserialize dazu mit E_NOTICE abzustürzen und einfach nur FALSE zu liefern.

Datenbankverbindung via mysqli::set_charset('utf8') auf UTF-8 gestellt und magic, schon funktioniert alles wunderbar.

[1] http://blog.emeidi.com/2012/07/16/phps-serialize-und-unserialize-funktion-mit-unicode-problemen
[2] http://www.php.net/manual/en/function.unserialize.php#107886

WordPress-frage? Google hat die Antwort

Ja, natürlich hat Google selbst fast keine Antworten. Aber was Google findet wenn man es fragt ist immer wieder begeisternd.

Ich habe heute auf einen Blog eine Liste von Artikeln aus genau einer Kategorie auf genau eine Seite ausgeben wollen. Irgendwie habe ich dazu kein Plugin o.ä. gefunden. Aber siehe dank Google findet man jemanden der/die das gleiche Problem hat/hatten. Da WordPress sehr verbreitet ist eignet sich eine Suchmaschine wie Google hierbei sehr sehr sehr gut.
Ein paar Foren und Blogs durchsucht und das gefunden was mich zufrieden gestellt hat: txto.de / Statische Seite X zeigt Beiträge von Kategorie Y an

Die Anleitung hätte sogar mMn ein „leihe“ verstanden daher war es gut und schnell eingebunden.

Meinen endgültigen Code möchte ich euch natürlich auch nicht vorenthalten.
„WordPress-frage? Google hat die Antwort“ weiterlesen

share.php 2 – WordPress Theme Addin #Share #WP #Addin

So jetzt.
Da ich nach ca. 2 Stunden, nach dem Letzten Artikel, 3 E-Mails, 4 ICQ, 2 Jabber und 6 AIM nachfragen bzgl. einer oder zwei Verbesserungsvorschläge für die share.php eingegangen sind und das System den vollsten zu Spruch erhielt nun ein Update der Share.php die alles umstellt.
Wordpress Logo
Es gibt nun eine Einzelne PHP Seite in der alles übersichtlich in Arrays aufgeteilt eingestellt und erweitert werden kann. Die share_setting.php diese ist nur zur Datenverwaltung eines Arrays gedacht, (nur eins? ja nur eins damit so wenig wie möglich eindeutige Namen verloren gehen.)

$SharePHPConst_Settings

Alle Einstellungen werden nun in diesem Einstellungs-Array gespeichert.

Dieses mal werde ich nicht den gesamten Code hier drin veröffentlichen, wer Interesse hat kann bis zum Schluss lesen und sich ein Zip herunterladen.
„share.php 2 – WordPress Theme Addin #Share #WP #Addin“ weiterlesen

WordPress Theme Addin – share.php – #Update

Hallo @ All,

Wordpress LogoEs gibt ca. 1000 Million Anbieter für Shareing-Tools aber das was mir recht wäre habe ich nicht gefunden.

Also habe ich kurzerhand für meine Lieblinge unter den Sharing Plattformen ein eigenes Script geschrieben.
Für twitter twitter, Facebook Facebook, Xing Xing und Buzz Buzz

Dieses Script möchte ich euch ja nicht vorenthalten.
„WordPress Theme Addin – share.php – #Update“ weiterlesen