1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Frustriert.. dennoch Fragen zu UTF-8

Dieses Thema im Forum "Installation" wurde erstellt von believer, 14. April 2014.

  1. believer

    believer Well-Known Member

    Registriert seit:
    11. November 2008
    Beiträge:
    341
    Zustimmungen:
    1
    Hallo Community,

    habe heute meine ganze Seite kaputt geschossen, zusätzlich zu einer Datenbank, die vermutlich nicht gesichert wurde, da die Datensätze nicht mehr da sind. Dank alter Datenbank-Sicherung habe ich wenigstens ein paar Sachen wieder aufspielen können, bin gerade sehr sehr gefrustet, weil es viele Jahre an Arbeit bedeutet hat... aber, na ja, das gehört hier nicht hin und wahrscheinlich brauchte ich gerade eine Plattform, um mich auszuheulen :cry:

    Zum Thema: Ich hab jetzt nach dem Upgraden auf 3.8.2 wieder diese falsche Schreibweise ü,ö,ä usw. wird nur als kommisches Symbol angezeigt. Ich weiß nicht mehr, wo ich das damals geändert hatte. Kann jemand einem fast frustrierten Admin weiterhelfen? Wie, wo muss ich was tun?

    Liebe Grüße, believer
     
  2. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Hast Du Dich schon einmal beim Support vom Hoster erkundigt, ob da nicht eine regelmäßige Sicherung gemacht wird? Das gehört doch wohl beinahe schon zum Standard, oder?
     
  3. WP-Agentur

    WP-Agentur Well-Known Member

    Registriert seit:
    2. März 2014
    Beiträge:
    146
    Zustimmungen:
    0
    Was die Sonderzeichen betrifft würde ich mal nach der Kodierung im <head> schauen... Eventuell ist das standardmäßig anders im Template.

    Viel Erfolg beim Einspielen des Backups! *Daumendrück
     
  4. believer

    believer Well-Known Member

    Registriert seit:
    11. November 2008
    Beiträge:
    341
    Zustimmungen:
    1
    Sorry, aber wo genau muss ich da gucken, welche php-datei?

    Danke für Rückmeldung
     
  5. believer

    believer Well-Known Member

    Registriert seit:
    11. November 2008
    Beiträge:
    341
    Zustimmungen:
    1
    in der wp-config.php ist folgendes gesetzt: 'DB_CHARSET', ' utf-8'
    wo sonst kann/ soll ich noch gucken?
     
  6. g3h

    g3h Well-Known Member

    Registriert seit:
    25. Juni 2013
    Beiträge:
    661
    Zustimmungen:
    0
  7. Marcus[IS]

    Marcus[IS] Well-Known Member

    Registriert seit:
    23. August 2009
    Beiträge:
    5.955
    Zustimmungen:
    175
    Mojn,

    ich kann mich an etwas ähnlichem erinnern.
    Da lag das Problem aber nicht an der UTF-8 Anweisung in der wp-config, oder der header.php des Theme, sondern an der Zeichensatzeinstellung von der Datenbank, selber.

    Wäre eventuell auch ein Punkt, wo man ansetzen könnte, falls oben genannte Tipps nicht helfen sollten.
     
  8. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Mit welchem Charset werden denn die Seiten ausgeliefert?
    Eigentlich mit UTF-8, doch auch die Browser haben so ihre Macken. Zum Beispiel speichere ich meine style.css unter UTF-8, da die in den Kommentaren Umlaute enthält. Der Server sendet bei einer CSS aber keinen Charset im Header mit, wie es scheint und der Firefox öffnet die, weil die Umlaute enthält, erst einmal mit ISO oder westlich, was zu Glyphen führt, da die Umlaute ja korrekt mit UTF-8 gespeichert wurden.

    Da es nur CSS- und JS-Dateien betrifft, habe ich mich daran gewöhnt. Du solltest zuerst im Browser unter Ansicht feststellen, was da überhaupt für ein Charset ausgeliefert wird, vielleicht ist der ja richtig und wird nur vom Browser nicht richtig dargestellt, weil der den nicht erkennt.

    Wenn doch ein richtiges Problem, dann sollte kontrolliert werden, ob irgendwelche Theme- oder Plugin-Dateien in den Kommentaren Umlaute enthalten, aber nicht mit UTF-8 gespeichert wurden. Wenn das auch noch nicht genügt, könntest Du mal als erste Zeile in der header.php den Charset setzen mit:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und für die Ausgabe im Browser diese Zeile verwenden:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Die sollte dann so im Quelltext ausgegeben werden:

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und wenn das alles noch nichts bringt, so könnte es halt durchaus mit der Datenbank zusammenhängen. Für eine Prüfung hatte ich mal diesen Code geschrieben:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #8 Melewo, 15. April 2014
    Zuletzt bearbeitet: 15. April 2014
  9. believer

    believer Well-Known Member

    Registriert seit:
    11. November 2008
    Beiträge:
    341
    Zustimmungen:
    1
    @Melewo:

    Habe folgendes gemacht:

    1. unter Ansicht im Browser springt die Einstellung immer wieder auf Unicode. Wenn ich auf Westlich einstelle, wird anschließend die aktuelle Seite dann zwar richtig dargestellt, wenn ich zu einer anderen Seite gehe, funktioniert es wieder nicht mehr

    2. Habe in header.php die Einstellung in der ersten Zeile eingetragen

    3. <meta charset="<?php bloginfo( 'charset' ); ?>" /> habe ich unter meta info eingetragen. es sieht dort also jetzt so aus:

    <meta charset="<?php bloginfo( 'charset' ); ?>" />
    <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
    <?php wp_meta(); //we need this for plugins ?>

    Ich nutze nur Firefox, hierfür gibt es in der header.php keinen Eintrag, sondern nur für ie7. Vielleicht ist das aber auch nicht wichtig.
    Bis jetzt haben die Änderungen nichts bewirkt.

    Unter phpmyadmin finde ich German (de-utf-8). MySQL-Zeichensatz: UTF-8 Unicode (utf8) und Zeichensatz / Kollation der MySQL-Verbindung: utf8_general_ci.
    Die Abfrage mit deinem Code habe ich nicht hinbekommen

    Bin also nicht weiter gekommen und ratlos.
     
  10. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Aber das ist doch dann der Knackpunkt, die sollte nicht in Westlich fehlerfrei lesebar sein. Nun brauchst Du doch nur noch herausfinden, warum die in Westlich fehlerfrei dargestellt wird.
    Also, wieso fährt ein Auto ohne Sprit wenn nur Rost im Tank?
    Oder, wieso korrekte westliche Zeichen wenn mit UTF-8 gespeichert?
     
  11. believer

    believer Well-Known Member

    Registriert seit:
    11. November 2008
    Beiträge:
    341
    Zustimmungen:
    1
    ok, aber was soll ich da machen?

    Noch was kurioses: Beiträge werden auf der Webseite zwar angezeigt, wenn ich sie aber bearbeiten will, tauchen sie überhaupt nicht im Editor auf. Das verwirrt mich total... es taucht kein Content auf! Aber auf der Webseite ist alles zu sehen! Wenn ich einen neuen Artikel schreibe, ist dieser fehlerfrei, es tauchen keine Sonderzeichen auf und wird auch für jeden richtig angezeigt. Ich kapier gar nichts mehr :shock:
     
    #11 believer, 15. April 2014
    Zuletzt bearbeitet: 15. April 2014
  12. Nevery

    Nevery Well-Known Member

    Registriert seit:
    15. Oktober 2013
    Beiträge:
    404
    Zustimmungen:
    0
    Bei der Kodierung gibts tendenziell 3 Knackpunkte:
    1. die Kodierung, die dem Browser per Metaangabe mittgeteilt wird: <meta charset="UTF-8">
    2. die Kodierung, in der die HTML-/PHP-Dateien gespeichert sind (per z.B. Notepad++ überprüfbar)
    3. die Kodierung, in der die Daten aus der DB geholt werden (per mb_detect_encoding überprüfbar, per iconv oder utf8_encode manipulierbar)

    Unter Umständen - sofern Daten per JS geliefert werden - muss das auch noch überprüft werden.
     
  13. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Die Abfrage habe ich nun noch in eine Testabfrage eingebunden und die liefert mir von der Datenbank ein ISO-8859-1. Bin nun erst einmal sprachlos, weil ich damit bisher noch keine Probleme hatte. Doch was fällt der eigentlich ein, wenn die Tabellen utf8_general_ci und die MySQL Verbindung ebenfalls, die Seite ja auch mit UTF-8 gespeichert und die liefert mir ein ISO?
    Da blicke ich gerade nicht durch.
    Endergebnis, Umlaut in Titeltag richtig und im Post ohne utf8_encode nur als Glyphen bzw. Fragezeichen.
    In einem anderen Test hatte das mal richtig funktioniert und die Abfrage ist ja völlig unabhängig von WP.
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #13 Melewo, 15. April 2014
    Zuletzt bearbeitet: 15. April 2014
  14. Nevery

    Nevery Well-Known Member

    Registriert seit:
    15. Oktober 2013
    Beiträge:
    404
    Zustimmungen:
    0
  15. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Ändere noch einmal diese Zeile:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    In:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich verstehe es auch nicht mehr, innerhalb von phpMyAdmin finde ich nichts davon, noch dazu wo ja WP die Tabellen angelegt hat und es bisher keine Probleme gab.
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Alle Tabellen im Dump enden mit ENGINE=... DEFAULT CHARSET=utf8 AUTO_INCREMENT=Ziffer, ich verstehe es nicht. Wobei sich das nicht auf die Tabellen, sondern eigentlich nur auf die Verbindung zur Datenbank bezieht und da muss irgendetwas so laufen, wie ich es nicht verstehe.
     
  16. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Ja, wenn ich das Testlisting dahingehend ändere, dann sieht alles gut aus ohne utf8_encode. Nur würde ich meinen, dass das WP intern zuverlässig regelt und in der wp-config nicht grundlos steht:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Jedenfalls sollte mit diesen Änderungen die Ausgabe ohne Fehler erfolgen:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wird nur nichts nutzen, weil ja keine Änderungen in dieser Richtung vorgenommen werden können, halt nur als Test zu gebrauchen. Wobei sich maximal die Frage stellt, wurde der Dump mit dem richtigen Charset gespeichert?
     
    #16 Melewo, 15. April 2014
    Zuletzt bearbeitet: 15. April 2014
  17. believer

    believer Well-Known Member

    Registriert seit:
    11. November 2008
    Beiträge:
    341
    Zustimmungen:
    1
    und was sagt das einem armen unerfahrenem Administrator? Es klingt so, als ob ihr versteht, wovon ihr sprecht. Ich komm da nicht/noch nicht mit ;)
     
  18. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Dass das ein sehr interessantes Thema sein kann, wenn man nicht direkt betroffen ist. Die Zusammenhänge sich nur nicht leicht zu erkennen geben, bei allem was mit Zeichensätzen zu tun hat.

    Nun gut, da Du selbst betroffen bist, würdest Du sicherlich lieber darauf verzichten. Ich würde jetzt aber dennoch das letzte Listing mal unter test.php wie im Kommentar beschrieben abspeichern und aufrufen, dabei Deine Zugangsdaten für 'DB Host', 'DB User', 'DB Passwort', 'DB Name' eintragen und falls Du ein anderes Präfix als wp_ verwendest, auch dieses entsprechend ändern und eventuell die 3 so hochsetzen, bis Du einen von den älteren Beiträgen erwischt. Zumindest sollte sich dann schon einmal zu erkennen, ob damit dann alles richtig ausgegeben wird.
     
  19. Nevery

    Nevery Well-Known Member

    Registriert seit:
    15. Oktober 2013
    Beiträge:
    404
    Zustimmungen:
    0
    Dass man das programmieren den Programmierern überlassen sollte.... ;)

    Nein, im Ernst: wenn nur die älteren Beiträge so komisch wirken, hast Du denn mal per phpMyAdmin geschaut wie die Beiträge in der Datenbank selber aussehen?
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden