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: Kommentar-Feld von Bestellstatus-Änderung nimmt keine Umlaute an

    Ladenhueter

    • Neu im Forum
    • Beiträge: 8
    Hallo,

    seit meinem Serverumzug mit Betriebssystem-Update (Ubuntu 10.04 -> 14.04) kann ich beim manuellen Ändern des Bestellstatus keine Kommentare mit Umlauten eingeben. OK, eingeben kann ich sie schon, aber sie werden dann komplett ignoriert, das betreffende Feld bleibt leer.

    Das Update selbst lief problemlos ab: alle Webseiten umgezogen, Datenbank komplett gesichert und komplett wieder zurückgespielt.

    Hat jemand eine Idee, was ich übersehen hab?

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

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Eventuell PHP-Version umgestellt und er hängt sich an der Kodierung auf?
    10.04 hatte glaub PHP 5.3 oder so als Standard, 14.04 ist glaub bei 5.5

    Ladenhueter

    • Neu im Forum
    • Beiträge: 8
    Hallo Fakrae, danke für die Ideen. Kann natürlich sein, dass es an dem PHP-Upgrade liegt. Du hast Recht, es ist PHP 5.5.

    Kann ich da irgendeine Einstellung prüfen?
    Bei den Umgebungsvariablen finde ich:
    HTTP_ACCEPT_LANGUAGE    de-DE,de;q=0.8,en-US;q=0.5,en;q=0.3

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Es gibt im Forum einen Patch für die Kompatibilität mit 5.5 und 5.6, musst du mal schauen und den anwenden.

    Ladenhueter

    • Neu im Forum
    • Beiträge: 8
    Meintest du den modified-shop-1.06-r4642-SP2-PHP5.6-Fix.zip ?

    Von dem habe ich heute die Language-Änderungen eingepflegt. Leider ohne Effekt. Vielleicht hab ich aber auch etwas übersehen.

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Ja genau.
    Hast du einen Link zum Shop (im Zweifel mit htaccess-Schutz)? Dann können wir zumindest mal sehen wie sich der Server allgemein verhält.

    qxseno

    • Neu im Forum
    • Beiträge: 20
    Vermutung:

    Deine Zeichensatzedaten werden im Format ISO-8859-15 gespeichert.
    Dein Server (Apache / Ubuntu) sendet i.d.R Content-Type-Header UTF-8 als Zeichensatz an den Client.
    Somit werden alle Zeichen die nicht in US-ASCII enthalten sind fehlerhaft dargestellt.

    Entweder den Shop dazu bringen im korrekten Format zu speichern, oder den Webserver dazu bringen im  ISO-8859-15 Format zu senden. (zweite Möglichkeit ist wohl die einfachere)

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Dritte Möglichkeit: Den Unsinn abstellen, dass der Shop überhaupt mit ISO Charsets arbeitet. Das sind Fossilien aus den 90ern. UTF-8 ist mittlerweile Standard im Web. Umstellung dauert ca. 30 Minuten - 2 Stunden (je nach eingesetzten Schnittstellen oder Modulen)... und nie wieder Buchstabensalat.

    ds170477

    • Fördermitglied
    • Beiträge: 1.522
    • Geschlecht:
    Re: Kommentar-Feld von Bestellstatus-Änderung nimmt keine Umlaute an
    Antwort #8 am: 30. September 2016, 11:47:42
    Hallo,

    was einer welche Datei hier angesprochen wird, die dann in der DB in Order History->comments die Kommentare hinterlegt?

    Möchte es umlenken an Table Orders...

    Grüße aus Köln

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Kommentar-Feld von Bestellstatus-Änderung nimmt keine Umlaute an
    Antwort #9 am: 30. September 2016, 15:12:38
    Suche mal in der /admin/orders.php

    Bei 1.06 finde ich das:
    Code: PHP  [Auswählen]
          $sql_data_array = array('orders_id' => $oID,
                                  'orders_status_id' => $status,
                                  'date_added' => 'now()',
                                  'customer_notified' => $customer_notified,
                                  'comments' => $comments,
                                  'comments_sent' => ($_POST['notify_comments'] == 'on' ? 1 : 0)
                                  );
          xtc_db_perform(TABLE_ORDERS_STATUS_HISTORY,$sql_data_array);
          $order_updated = true;
     

    Umlenken würde ich nicht machen .... dann verlierst Du die history und kannst nach dem zweiten Kommentar nicht mehr nachvollziehen was der erste war. Wenn es denn unbedingt sein muss, schreibe es in beide Tabellen. Also lass das Original stehen und dann noch so was in der Richtung dahinter:
    Code: PHP  [Auswählen]
          $sql_data_array = array('orders_id' => $oID,
                                  'comments' => $comments,
                                  'comments_sent' => ($_POST['notify_comments'] == 'on' ? 1 : 0)
                                  );
          xtc_db_perform(TABLE_ORDERS,$sql_data_array);
    Die Frage ist eher für was Du das brauchst?

    Wenn Du die orders für irgendwas ausliest, lässt sich problemlos der letzte Kommentar der orders_history mit auslesen.
    Code: SQL  [Auswählen]
    JOIN
    ist da Dein Freund.
               
    anything