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: SHOP UTF-8 ...

    Mike Randoo

    • Fördermitglied
    • Beiträge: 159
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #75 am: 19. Januar 2016, 23:40:35
    Es gibt kein Problem im Shop. Will nur zukünftig einen Shop auf einem korrekten UTF-8-Fundament aufbauen und nicht schon am Anfang eventuell einen Fehler einbauen.

    Denke, nun passts.

    Danke für Deine Mühen!

    Gruß,
    Mike

    Bonner

    • Fördermitglied
    • Beiträge: 848
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #76 am: 27. Februar 2016, 20:46:40
    @noRiddle und Bonsai

     :thx:

    Umstellung hat 1A geklappt..und wieder 1 Punkt weniger auf meiner ToDo-Liste!

    Bonner

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #77 am: 29. Februar 2016, 09:44:56
    Was in dem Thread leider fehlt .... sämtliche Kunden mit Umlaut im Passwort können sich nicht mehr anmelden! Man müsste das Login umschreiben und bei fehlgeschlagenem Login nochmal auf
    Code: PHP  [Auswählen]
    utf8_decode($password)
    prüfen.

    karsta.de

    • Experte
    • Beiträge: 3.048
    Re: SHOP UTF-8 ...
    Antwort #78 am: 29. Februar 2016, 11:38:52

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.735
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #79 am: 29. Februar 2016, 17:06:54
    Was in dem Thread leider fehlt .... sämtliche Kunden mit Umlaut im Passwort können sich nicht mehr anmelden!
    ...

    Good point.

    Gruß,
    noRiddle

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: SHOP UTF-8 ...
    Antwort #80 am: 01. März 2016, 10:48:40
    Ich habe noch eine Ergänzung:
    Aus NoRiddles Anleitung Seite 4:
    Wenn nicht vorhanden in den Dateien /lang/SPRACHE/SPRACHE.php die setlocale() erweitern um 'de_DE.UTF-8' bzw. 'en_GB.UTF-8'

    Hier sollte man das eventuell noch etwas spezifizieren. Bei mir ist sowohl im Adminbereich als auch in den Bestellemails leider aus dem "März" ein "M?rz" geworden.
    Erst als ich aus meiner
    Code: PHP  [Auswählen]
    @setlocale(LC_TIME, 'de_DE@euro', 'de_DE', 'de-DE', 'de', 'ge', 'de_DE.UTF-8', 'utf-8', 'de_DE.ISO_8859-1', 'German','de_DE.ISO_8859-15');
    dann
    Code: PHP  [Auswählen]
    @setlocale(LC_TIME, 'de_DE.utf8', 'de_DE@euro', 'de_DE', 'de-DE', 'de', 'ge', 'de_DE.UTF-8', 'utf-8', 'de_DE.ISO_8859-1', 'German','de_DE.ISO_8859-15');
    gemacht habe, wurde das Ä angezeigt.
    (Quelle dazu: https://www.modified-shop.org/forum/index.php?topic=29531.msg266869#msg266869 )

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.735
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #81 am: 01. März 2016, 14:49:29
    Das mehrmalige Aufführen von utf-8 ist unnötig.
    Einfach als ersten Eintrag das 'de_DE.UTF-8', und gut iss.

    Gruß,
    noRiddle

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: SHOP UTF-8 ...
    Antwort #82 am: 01. März 2016, 16:24:38
    Das ist richtig - aber es steht eben in diesem Thread nirgendwo, dass es AM ANFANG eingefügt werden muss, da steht nur "erweiter" - aber nicht wo. Und wenn es nicht am Anfang steht, dann funktioniert es nicht.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.735
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #83 am: 01. März 2016, 18:25:46
    Jau, ich kann meinen alten Post nicht mehr editieren und du erklärst es ja in deinem letzten Post auch nicht.

    Eigtl. kann man auch dann den ISO-Code der nicht benötigt wird aus dem locale-Array rausnehmen.
    Es braucht lediglich so auzusehen für UTF-8:
    Code: PHP  [Auswählen]
    @setlocale(LC_TIME, 'de_DE.UTF-8', 'de_DE.utf8', 'utf-8', 'de_DE@euro', 'de_DE', 'de', 'ge');
    ...wobei fraglich ist ob die Fallbacks unbedingt nötig sind. Ich weiß nicht auf welchen Umgebungen de_DE.UTF-8 nicht erkannt wird bzw. nicht bekannt ist.

    Gruß,
    noRiddle

    Bonner

    • Fördermitglied
    • Beiträge: 848
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #84 am: 02. März 2016, 19:13:34
    Trotz Änderung wird in der Umsatzstatik der März mit einem Fragezeichen im Viereck angezeigt.
    Warum, weshalb ????
    Da muß ich passen. Ob es mit PHP5.6 zu tun hat, weil die Umstellung habe ich in einem Aufwasch gemacht?  :nixweiss:

    Was mir auch noch aufgefallen ist: Bestellmails etc. laufen völlig ohne Probleme. Im Backend betrifft es nur die Darstellung in der Umsatzstatistik, im Paypal und im Sofort-Zahlungsmodul. Überall anders ist es nach meinen Kontrollen soweit ok.

    Und eine Auffälligkeit gibt es bei PDFbill: die Umlautprobleme tauschen nur bei abweichenden Lieferanschriften und Kundenkommentare zur Bestellung auf, was mir in sich nicht gerade durchgängig zu sein scheint.

    Nachtrag: Weiß jemand, woher das Datum - sprich der Begriff März - in der Umsatzstatistik genommen wird?. Vielleicht könnte man dann dort mal mit der Ursachenforschung beginnen.

    Bonner

    • Fördermitglied
    • Beiträge: 848
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #85 am: 02. März 2016, 20:09:52
    So, jetzt wird es merkwürdig...
    ich habe mal in den betreffenden Zahlungsmodulen nachgeschaut. Dort standen in den Texten die ganz normalen Umlaute drin. So z.B. "Konfigurationsschlüssel" bei dem Sofort-Modul. Vor der Umstellung auf UTF-8 und PHP 5.6 wurde das dennoch korrekt angezeigt.
    Nach Umstellung wurde das "ü" kryptisch dargestellt. Nach der testweisen Änderung auf "Konfigurationsschlüssel" ist die Anzeige wieder korrekt.
    Habe ich da irgendwie ein Verständnisproblem oder drehe ich jetzt ganz am  :wohow:?

    Bonner

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.735
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #86 am: 03. März 2016, 02:10:12
    • Hast du die Anpassung der setlocale() auch in /lang/admin/SPRACHE.php gemacht ?
    • Sprachdateien die nicht-html-codierte Umlaute oder andere Sonderzeichen enthalten müssen auf UTF-8 ohne BOM konvertiert werden.
      Einfach in notepad++ öffnen und über Kodierung => Konvertiere zu UTF-8 ohne BOM ändern und wieder speichern.

    Gruß,
    noRiddle

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: SHOP UTF-8 ...
    Antwort #87 am: 03. März 2016, 07:32:59
    Nachtrag: Weiß jemand, woher das Datum - sprich der Begriff März - in der Umsatzstatistik genommen wird?
    Die werden über die PHP-Funktion strftime() erzeugt und sind daher direkt von der setlocale-Einstellung abhängig. Siehe NoRiddles Tipp1: lang/german/admin/german.php muss auch geändert werden und 'de_DE.UTF-8' oder 'de_DE.utf8' müssen der erste Eintrag nach "LC_TIME," sein

    Bonner

    • Fördermitglied
    • Beiträge: 848
    • Geschlecht:
    Re: SHOP UTF-8 ...
    Antwort #88 am: 04. März 2016, 15:39:42
    @noRiddle und Fakrae

     :datz:...manchmal könnte man sich selbst in den...genau da...beissen!

    Danke für den Tip, das war die Ursache!

    Ein schönes Wochenende!

    Bonner

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: SHOP UTF-8 ...
    Antwort #89 am: 04. März 2016, 23:59:54
    Bei mir hat's leider nicht funktioniert.
    Meine Vorgehensweise:

    Shop basiert auf einem modified 1.05

    1. Skript für die DB laufen lassen / Datei: convert_to_utf8.php
    Code: PHP  [Auswählen]
    <?php
    include 'includes/application_top.php';

    //BOC set all tables to collation utf8_general_ci and convert contents to utf8, noRiddle
    $query = xtc_db_query("SHOW TABLES");
    while ($result = xtc_db_fetch_array($query)) {
        foreach ($result as $key => $table) {
            if(xtc_db_query("ALTER TABLE " . $table . " CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci")) {
                echo $key . ' &raquo; ' . $table . ': - converted to UTF-8 and collation utf8_general_ci <br />';
            } else {
                echo $key . ' &raquo; ' . $table . ': - conversion to UTF-8 and collation utf8_general_ci failed <br />';
            }
        }
    }
    //EOC set all tables to collation utf8_general_ci and convert contents to utf8, noRiddle
    ?>

    2. DB_SERVER_CHARSET in den beiden configure.php-Dateien auf utf8 setzen
    /includes/configure.php
    /admin/includes/configure.php

    Die Zeile gab's in meinem Shop gar nicht, also so am Ende eingefügt:

    Code: PHP  [Auswählen]
    define('DB_SERVER_CHARSET', 'utf8'); // set db charset utf8 or latin1

    3. Backend => Land / Steuer => Sprachen => "meta-content" ("Charset" im Bearbeiten-Modus) auf utf-8 setzen

    4. Sprachdateien geändert.
    /lang/german/german.php
    /lang/german/admin/german.php

    Code: PHP  [Auswählen]
    @setlocale(LC_TIME, 'de_DE.UTF-8', 'de_DE.utf8', 'utf-8', 'de_DE@euro', 'de_DE', 'de', 'ge');

    /lang/english/english.php
    /lang/english/admin/english.php

    Code: PHP  [Auswählen]
    @setlocale(LC_TIME, 'en_GB.UTF-8', 'en_GB@euro', 'utf-8', 'en_GB@euro', 'en_GB', 'en-GB', 'en', 'English');

    5. /includes/application_top.php
    /admin/includes/application_top.php

    ganz oben eingefügt:

    Code: PHP  [Auswählen]
    ini_set("default_charset", "utf-8");

    6. Cache vom Shop und vom Browser geleert und vom Backend ab- und wieder angemeldet.

    Ergebnis:
    Darstellung der Umlaute im Front- und Backend:
    Code: PHP  [Auswählen]
    Au�erdem, Warenk�rbe, Gr��en, etc?

    Aus dem Quelltext:
    Code: PHP  [Auswählen]
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    Datenbank Kollation: utf8_general_ci für alle Tabellen.

    Was habe ich übersehen, oder falsch gemacht?  :?:
    rechtstexte für onlineshop
               
    anything