Validierungsfehler wegen Umlauten - oder was??

  • Hallo, Wordpressgemeinde!
    Beim Versuch, bestimmte Teile meines Blogs zu validieren (nur als Beispiel diesen hier) bekomme ich die Meldung "Sorry, document can not be checked", mit der Begründung "...because on line 224 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding)."
    Ich habe hier mal gesucht und einen Beitrag gefunden, in dem steht, dass das mit Umlauten in Kommentaren zu tun habe.
    Stimmt das? Lässt sich das Problem auch irgendwie lösen? Hab ich überhaupt eins? ;-) Ich bin mir nicht sicher...

    Sicher ist, dass nichts sicher ist. Selbst das nicht. (J. Ringelnatz) http://www.sigaspot.com

    • 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

  • Hier kommt der Fehler her:

    Code
    <!--<p><small><strong>Code-Beispiele:</strong> Damit die Code-Beispiele richtig angezeigt werden, [COLOR="Red"]m�ssen[/COLOR] die Sonderzeichen maskiert werden (z. B. <code><</code> zu <code>&lt;</code>).</small>--></p>


    Da ist die Template-Datei (comments.php) wohl nicht UTF-8-codiert abgespeichert.

  • Code
    Damit die Code-Beispiele richtig angezeigt werden,
    m�ssen die Sonderzeichen maskiert


    Dieser Kommentartext kommt vermutlich aus deiner comments.php oder commentform.php. Das ü ist ISO codiert muss aber auch UTF-8 sein.
    Daran scheitert dann der Validator.
    Wirf es raus oder speichere die Datei als UTF-8 ohne BOM und benutz ein korrektes ü.
    Es könnte noch mehr solche Schnitzer geben.

  • Hier kommt der Fehler her:

    Code
    <!--<p><small><strong>Code-Beispiele:</strong> Damit die Code-Beispiele richtig angezeigt werden, [COLOR=Red]m�ssen[/COLOR] die Sonderzeichen maskiert werden (z. B. <code><</code> zu <code>&lt;</code>).</small>--></p>

    Da ist die Template-Datei (comments.php) wohl nicht UTF-8-codiert abgespeichert.

    Nee, daran allein liegs nicht. ;-) Wenn ich mir die Struktur ansehe gibts noch einen Syntaxfehler...

    Der Teil in grün ist wohl eher irrelevant, weil er im Kommentar steht. Aber die schließenden Kommantar- und Paragraph-Tags kommen in der falschen Reihenfolge... ;-)

    LG
    Dominik


  • Stimmt genau, Dominik, den hab ich beim Bearbeiten grade auch entdeckt - doppelt gemoppelt, sozusagen...
    Ich habe den betreffenden Teil jetzt ganz gelöscht und die anderen - dachte ich - behoben, aber der Validator meckert immer noch. Irgendwas muss ich wohl übersehen haben... Könnt ihr da bitte noch mal reingucken? Die Tomaten auf meinen Augen sind im Weg... ;-)

    Sicher ist, dass nichts sicher ist. Selbst das nicht. (J. Ringelnatz) http://www.sigaspot.com

  • Jetzt spricht der Validator endlich mit mir und schon stellt sich die nächste Frage... :mrgreen:

    Warum erzeugt dieser Teil zwei Mal class="alt"?:

    PHP
    <li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>"<?php global $comment;
            if ( ($comment->comment_author_email == get_the_author_email()) && ($comment->user_id != 0) ) 
            {echo " class=\"autor_kommentar\"";} else {echo " " . $oddcomment;} ?>>

    Sicher ist, dass nichts sicher ist. Selbst das nicht. (J. Ringelnatz) http://www.sigaspot.com

  • Ja, wenn ich das wüsste... ;-)
    Sorry, ich hab diese Lösung so übernommen, ich verstehe noch zu wenig von php. Hier die comments.php, vielleicht kannst du mir einen Tipp geben, was ich ändern muss, damit die class nicht zwei Mal erzeugt wird:

    Sicher ist, dass nichts sicher ist. Selbst das nicht. (J. Ringelnatz) http://www.sigaspot.com

  • Die Klasse .alt wird in deinem Theme nicht benutzt, also kann das $oddcomment-Zeug auch ganz raus:

    PHP
    <li [COLOR="#ff0000"]<?php echo $oddcomment; ?>[/COLOR]id="comment-<?php comment_ID() ?>"<?php global $comment;
            if ( ($comment->comment_author_email == get_the_author_email()) && ($comment->user_id != 0) ) 
            {echo " class=\"autor_kommentar\"";} [COLOR="#ff0000"]else {echo " " . $oddcomment;}[/COLOR] ?>>


    Das rot markierte einfach löschen.

Jetzt mitmachen!

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