Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Probleme bei utf-8 Konvertierung

    0815

    • Viel Schreiber
    • Beiträge: 905
    Probleme bei utf-8 Konvertierung
    am: 04. April 2015, 16:11:45
    Hallo,

    ich versuche verzweifelt meine Datenbank mittels Datenbank-Manger in utf-8 zu konvertieren.

    In der Datenbank sind alle Sonderzeichen so eingetragen: ä,ö,ü,ß, ...
    Die Kollation der Tabellen ist auf latin1_swedish_ci eingestellt. Nur bei Tabellen, welche zu neueren Modulen gehören steht die Kollation bereits auf utf8_general_ci.
    Der Server Zeichensatz ist so eingestellt: UTF-8 Unicode (utf8)

    Wenn ich nun gemäß Anleitung ein Backup erstelle und dabei den Haken bei "Datenbank auf UTF-8 konvertieren" setze, wird zwar die Kollation bei allen Tabellen auf utf8_general_ci geändert, aber es werden auch alle Sonderzeichen in der Datenbank durch Fragezeichen ersetzt.

    Was mache ich falsch, oder was ist bei meiner Datenbank anders, so dass ich anders vorgegehen muss?
    Kann es sein, dass ich nur die Kollation ändern muss, weil die Sonderzeichen in meiner Datenbank längst utf-8 kodiert sind?  :nixweiss:

    Danke

    Linkback: https://www.modified-shop.org/forum/index.php?topic=32652.0

    karsta.de

    • Experte
    • Beiträge: 3.156
    Re: Probleme bei utf-8 Konvertierung
    Antwort #1 am: 05. April 2015, 08:58:41
    Schau dir hier mal die Lösungsvorschläge an.
    http://www.modified-shop.org/forum/index.php?topic=31673.msg288302#msg288302
    http://www.modified-shop.org/forum/index.php?topic=26848.msg294172#msg294172
    Es ist zwar etwas verwirrend, dass Bonsai ständig die Scripte von noRiddle in Frage stellt(sicher vielleicht berechtigt), doch es sollte so, wie hier von noRidlle vorgeschlagen, funktionieren.
    Mach einfach vorher wie immer ein Sicherheitsupdate von deiner DB.

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: Probleme bei utf-8 Konvertierung
    Antwort #2 am: 05. April 2015, 18:08:48
    Hab' ich jetzt mal als Schnellschuss (d.h. ohne die Threads gelesen zu haben) das Script ausprobiert, allerdings leider "ohne Erfolg".

    Die Kollation und das Character Set hatte ich ja bereits manuell geändert, d.h. mehr hätte das Script wohl auch nicht gemacht.

    Mein Problem ist, dass in der Datenbank die Sonderzeichen als solche eingetragen sind (also ä, ö, ä, ß, ...), im Browser werden die Sonderzeichen allerdings als schwarze Karos mit Fragezeichen ausgegeben (sowohl im Front- als auch im Backend).

    Mein Shop ist ein modified 1.05 den ich (ohne Update auf eine neuere Shopversion) auf utf-8 umstellen möchte. Ich vermute mal, da müssen neben den Änderungen in der Datenbank auch noch einige Dateien angepasst werden. Welche das sind, habe ich noch nicht herausgefunden.
    Gibt's da irgendwo eine Anleitung zu?

    Den Doctype in der header.php habe ich bereits angepasst.

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Probleme bei utf-8 Konvertierung
    Antwort #3 am: 05. April 2015, 19:32:23

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: Probleme bei utf-8 Konvertierung
    Antwort #4 am: 05. April 2015, 20:10:10
    Da geht es aber um eine Neuinstallation und keine der beschriebenen Änderungen behebt mein Problem.

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Probleme bei utf-8 Konvertierung
    Antwort #5 am: 05. April 2015, 20:31:46
    Da geht es aber um eine Neuinstallation

    Was relativ egal ist.

    und keine der beschriebenen Änderungen behebt mein Problem.

    Welche Schritte davon hast du denn ausgeführt?

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: Probleme bei utf-8 Konvertierung
    Antwort #6 am: 05. April 2015, 21:25:49
    Zitat
        1 Datenbank erstellen mit default Kollation UTF8
        2 Datei "/_installer/includes/config.php" bearbeiten:
        3 Datei"_installer/modified.sql" bearbeiten:
        4 Shop installieren
        5 ".htaccess" bearbeiten:
        6 Datei "/inc/xtc_db_connect.inc.php" bearbeiten:
        7 Datei "/includes/classes/class.phpmailer.php" bearbeiten:
        8 Datei "/admin/includes/modules/fckeditor/fckconfig.js" bearbeiten:
        9 Datei "/admin/start.php" bearbeiten:
        10 Sprachdateien bearbeiten mit NOTEPAD++
        11 Änderungen im Adminbereich:
        12 Anschließend aus und einloggen
        13 Kontrolle im Adminbereich:
        14 Die Box Reviews in der "index.html" des Templates abschalten
        15 Bestätigungsmails werden in UTF-8 versendet
        16 Hinweis für Anwender der JTL Wawi:

    1. Datenbank Kollation manuell geändert
    2-3. Dateien nicht vorhanden
    4. ich möchte nicht neu installieren
    5. Codezeilen bei mir nicht vorhanden
    6-7. laut Kommentar nicht erforderlich
    8. ich nutze den Fckeditor nicht
    9. geändert
    10. noch nicht geändert, weil es m. E. nichts mit dem Content (Produktbeschreibungen, etc.) zu tun hat, welcher aus der Datenbank geladen wird
    11. geändert
    12. erledigt
    13-16. für mich nicht relevant

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Probleme bei utf-8 Konvertierung
    Antwort #7 am: 05. April 2015, 22:14:32
    5. Codezeilen bei mir nicht vorhanden

    Dann füg die mal ein.

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: Probleme bei utf-8 Konvertierung
    Antwort #8 am: 05. April 2015, 23:50:00
    Ändert nichts an der Ausgabe im Browser.
    Die Sonderzeichen werden leider weiterhin als Fragezeichen ausgegeben.

    Welche Dateien können denn sonst noch für die Ausgabe verantwortlich sein?
    kann es die inc/html_encoding.php sein?

    Im "modified eCommerce Shopsoftware-1.05_SP1b_Stand_2011_09_09-utf-8" gibt es die Datei im inc-Verzeichnis nicht, dafür aber folgende:
    - search_replace_default.php
    - search_replace_iso-8859-1.php
    - search_replace_iso-8859-15.php
    - search_replace_utf-8.php

    Kann das evtl. mein Problem lösen und wenn ja, welche der Dateien bindet man ein und wie?

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: Probleme bei utf-8 Konvertierung
    Antwort #9 am: 06. April 2015, 00:15:18
    Oh, ich glaub' ich hab's gefunden.

    Die /inc/xtc_db_connect.inc.php habe ich testweise mal durch die Datei aus dem utf-8 Installationspaket ausgetauscht und schon sind die Fragezeichen weg.

    Zitat
    6. Datei "/inc/xtc_db_connect.inc.php" bearbeiten:

    [Kommentar web28: unnötig da DB_SERVER_CHARSET in der jeweiligen configure.php auf utf8 gesetzt wird]

    Der Kommentar scheint demnach für mein Problem nicht zutreffend zu sein.

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Probleme bei utf-8 Konvertierung
    Antwort #10 am: 07. April 2015, 10:45:47
    Ich hab keine 1.05er mehr da, aber wenn da in der configure das Charset nicht gesetzt wird, dann muss man das natürlich machen.

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: Probleme bei utf-8 Konvertierung
    Antwort #11 am: 07. April 2015, 11:08:40
    In der Datei steht's nicht drin, weshalb ich dann angefangen habe per Try and Error einige Dateien zu ersetzen.

    Die Datei /inc/xtc_db_connect.inc.php  war dann glücklicherweise der Volltreffer.

    Jetzt habe ich aber noch Fragen zur UTF-8 Kodierung.

    In der Anleitung des UTF-8 Shops steht unter Punkt 10:
    Zitat
    Diese Dateien sind auf KODIERUNG/UTF-8 ohne BOM abzuspeichern und die Umlaute zu korrigieren.

    Ich habe davon bisher bisher nur den ersten Teil abgearbeitet, die Umlaute werden aber dennoch korrekt angezeigt. Ist der zweite Schritt deshalb überhaupt noch erforderlich/sinnvoll?

    Wenn ja, welche Sonderzeichen müssen geändert werden?
    ... diese vermutlich auf jeden Fall:
    Zitat
    " "
    ä ä
    Ä Ä
    ö ö
    Ö Ö
    ü ü
    Ü Ü
    ß ß

    ... aber was ist mit diesen?
    Zitat
     
    &
    "
    ✔
    «
    ‹
    ›
    »

    Gibt's für die Arbeit ggf. eine Software, oder ein Script, mit der man die Angelegenheit automatisiert abarbeiten kann?

    Ich könnte es z.B. hiermit durchführen, allerdings kann man bei der Software leider keine Austauschliste erstellen: https://toolsandmore.de/Central/Produkte/Software/Dateien_und_Dokumente/Text-Sue/

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Probleme bei utf-8 Konvertierung
    Antwort #12 am: 07. April 2015, 12:17:56
    Dateien müssen nur umkodiert werden wenn sie ein Sonderzeichen enthalten.
    Die Html-Entities = Maskierung für Sonderzeichen (z.B. ä) stören nicht und müssen deshalb nicht geändert werden.
    Bei den Umkodierung nach UTF-8 ohne BOM werden nur die Sonderzeichen umkodiert, alle anderen Zeichen bleiben so wie sie sind. Enthält eine Datei keine Sonderzeichen muss diese also nicht umkodiert werden.

    Gruss Web28

    EDIT: Suchen und Ersetzen über mehrere Dateien geht auch mit Notepad++

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: Probleme bei utf-8 Konvertierung
    Antwort #13 am: 07. April 2015, 12:38:24
    Ok, jetzt bin ich wirklich sicher, dass ich nicht verstanden habe, was der Unterschied zwischen Html-Entities, Sonderzeichen und UTF-8 ist und wie das alles zusammenspielt.  :-?

    ... eine für Laien verständlich Erklärung zum Thema habe ich auch noch nicht gefunden.

    Zitat
    EDIT: Suchen und Ersetzen über mehrere Dateien geht auch mit Notepad++

    Da kann man eine "Liste" wohl über die Markro-Option erstellen?!

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Probleme bei utf-8 Konvertierung
    Antwort #14 am: 07. April 2015, 12:48:34
    ä ist ein Sonderzeichen, ä ist die passende HTML-Entität.

    Buchstaben werden kodiert übertragen und dann von deinem PC dargestellt. (sowas ähnliches wie eine Verschlüsselung) - Wenn jetzt die falsche Kodierung eingetragen ist (du den falschen Schlüssel verwendest) wird auf deinem PC das falsche Zeichen angezeigt.

    Eine mögliche Kodierung ist UTF-8, andere wären latin1 oder diverse ISO-xyz Arten. Viele Kodierungen unterscheiden sich in den darstellbaren Zeichen - eine kyrillische Kodierung hat bspw kein ä, weil das dort nicht vor kommt. UTF-8 ist eine universale Kodierung, die die häufigsten Zeichen sehr vieler Sprachen enthält und deswegen in der westlichen Welt gerne verwendet wird.
    Als Lektüre habe ich letztens ein super Script dazu gesehen: http://www.cis.uni-muenchen.de/~stef/seminare/klassifikation_2013/klassifikation_zeichensaetze.pdf

    Die HTML-Entität wird von deinem PC immer korrekt übersetzt, weil diese Übersetzung in jeder Kodierung gleich lautet und das selbe bedeutet. Das ist sozusagen ein Umweg den man gehen kann, um sich nicht weiter mit den Kodierungen zu beschäftigen.
    5 Antworten
    3852 Aufrufe
    13. Dezember 2009, 20:13:25 von Cookie
    24 Antworten
    11493 Aufrufe
    14. Juni 2018, 14:44:53 von p3e
    3 Antworten
    3419 Aufrufe
    19. September 2009, 17:31:15 von Tomcraft