Plugin: WP-PostViews 1.20 - Sonderzeichen-Problem

  • Hallo zusammen,

    mal wieder ne Frickel-Frage.

    Ich habe auf meinem Blog (WP 2.33) das Plugin WP-PostViews 1.20 laufen. Funktioniert auch wunderbar, aber in der Sidebar meiner Seite werden die "Most Viewed" jetzt mit falschen Sonderzeichen angezeigt. (Das Problem live und in Farbe, siehe Sidebar)

    Hintergrund dazu:
    Ich habe vor kurzem mein Blog auf UTF-8 umgestellt. Seitdem hatte ich auch keinerlei Probleme mehr mit Sonderzeichen, weil ich mit Hilfe eines Skripts die gesamte Datenbank von ISO nach UTF konvertiert hatte. Nur dieses eine Plugin macht jetzt Ärger.

    Das o42-CleanUmlauts-Plugin ist bei mir aktiv, macht aber keinen Unterschied, ob ich es aktiviere oder deaktiviere.

    Ideen irgendjemand? Kann man vielleicht im Plugin irgendwo was ändern?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hmm, irgendwas schreibt die Codes für die Sonderzeichen um. Aus:

    Zitat

    & #228;


    wird dann z.B.

    Zitat

    ä


    Wodurch es dir dann als Codezeichen angezeigt wird.

    Kannst du den Inhalt der Widgets-Datei hier posten?

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Widget-Dateien

    Danke für die Antwort. Als Anhang die entsprechenden Dateien.

    In der .po-Datei gibt es z.B. folgende Zeilen:

    In der .pot-Datei findet sich was ähnliches, allerdings mit /n-Suffix bei UTF-8:

    In den beiden PHP-Dateien habe ich weder den String "UTF-8" noch "ISO-5589-1" gefunden.

    Auch interessant: wenn man mal bei Google nur meine Seite durchsucht, dann stellt man fest, dass die Überschriften dort auch falsch dargestellt werden, die Textauszüge aber nicht...

    Einmal editiert, zuletzt von Media Addicted (21. Februar 2008 um 20:44)

  • In der postviews-widget.php ersetze

    PHP
    $title = htmlspecialchars($options['title']);

    testweise mit

    PHP
    $title = $options['title'];

    Ich hab das gleiche Problem. (Zu sehen auf Pumi - Blog)
    Dein Vorschlag hilft nicht weiter.
    Auch das zweite 'htmlspecialchars' habe ich versuchsweise entfernt.
    -> keine Besserung

  • Datenbank-Codierung

    Also ich habe bei mir in der Datenbank gesehen (via PHPmyadmin), dass das o.g. Skript nicht alle Tabellen von latin1 in UTF-8 konvertiert hat. Stattdessen sind einige Tabellen, u.a. die wp_posts, noch in latin1 codiert.

    Eine mögliche Lösung ist diese Vorgehensweise, die ich im Laufe der Woche mal ausprobieren werde. Das dort verwendete Skript prüft JEDE Tabelle auf codierung, generiert einen SQL-Code für die Konvertierung nur der benötigten Tabellen, den man dann selbst in PHPmyadmin copy-pasten und ausführen muss.

    Der Vorschlag von Pumi ist zwar einfacher, aber belässt die falsche Codierung in der Datenbank.

  • Vorgehen

    Hi,

    also ich habe das Problem jetzt grundsätzlich gelöst, jedoch nicht für das Plugin. Es scheint aber ein Fehler des Plugins zu sein. Grundsätzlich bin ich so vorgegangen:

    1) Mit dem WordPress-Plugin die Datenbank (Zeichensatz und Kollationen der Tabellen) auf UTF-8 bzw. UTF-8_general_ci geändert.

    2) Dump machen.

    3) Im Dump die noch immer falschen Sonderzeichen und HTML-Entities per Suchen / Ersetzen ausgetauscht.

    4) Dump wieder einspielen.

    Folgende Sonderzeichen musste ich bei mir ersetzen:

    ü ü
    ä ä
    ö ö
    Ö Ö
    Ä Ä
    ß ß
    Ü Ü
    Ö (war anscheinend schon korrekt kodiert)
    ° °
    § §
    ² ²
    & &
    &lt; ? <
    &gt; ? >
    &quot; "
    &apos; '
    &auml; ä
    &ouml; ö
    &uuml; ü
    &Auml; Ä
    &Ouml; Ö
    &Uuml; Ü

    Sowohl in Posts / Kommentaren / Feeds / Titeln ist jetzt alles wieder ok.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!