Umlaute im Datum auf HTML Rechnung und Lieferschein

  • Hallo

    Wenn ich im Backend eine HTML Rechnung oder einen Lieferschein drucken möchte werden beim Datum die Umlaute nicht richtig ausgegeben. Andere Umlaute werden richtig ausgegeben.
    Hat jemand eine Idee wo ich das fixen kann?

    Das ganze läuft auf einem Debian 6 (aktuell).


    LG
    Bernd

  • hoi,

    ist es nur beim datum, und nur im be? wenn du im be die html-rechng. öffnest, ist dann das datum auch "zerlegt"?
    ich nehme an utf-8 ist gesetzt (höchstwahrscheinlich, da du sonst ja an mehreren stellen probleme mit den umlauten hättest)...


    greetz, me

    Einmal editiert, zuletzt von nico (3. April 2013 um 12:52) aus folgendem Grund: N/A

  • Hallo

    Das problem taucht wirklich nur bei "März" auf. Andere Umlaute kommen richtig an. Im Template habe ich diese aber vermutlich auch HTML Codiert ...
    Wenn ich eine Rechnung im Frontend als Kunde aufmache wird März richtig geschrieben. Es taucht also nur ein Problem im Backend auf.

    Grüße
    Bernd

  • hoi,

    welche version nutzt du denn genau? schau dir bitte mal per ftp die beiden print_order.php's an (http://shop.de/admin/print_order.php, http://shop.de/print_order.php). in denen findest du einen teil der ungefähr so aussieht (jeweils ziemlich am ende):

    PHP
    //FALSCH:
    $smarty->assign('DATE', xtc_date_long($order->info['date_purchased']));
    //RICHTIG:
    $smarty->assign('DATE', utf8_encode(xtc_date_long($order->info['date_purchased']))));

    greetz, me

  • Hallo
    Ich benutze die V2.3.1CE. Das Backend behauptet, dass es die aktuelle Version ist.
    In der Datei/admin/print_order.php stand die Zeile korrekt drinnen, in der print_order.php war die falsche Version. Ich habe es dort mal korrigiert, was aber keine Änderung gebracht hat.

    LG
    Bernd

  • hmm,

    wenn du jetzt natürlich die alten rechnungen aufmachst, wirst du da weiterhin probleme haben, denn die werte stehen so in der db drin. ich hatte es vorhin auch mal schnell durchgetestet, und es lief dann (bei neuerstellten rechnungen) einwandfrei.

    greetz, me

  • Hallo
    Das würde aber ja darauf hinweisen, dass das Problem gar nicht beim erzeugen der Rechnung sondern beim Bestellvorgang schon falsch in die Datenbank geschrieben wird. Ich habe mal in die Tabelle "orders" hineingeschaut. Da steht das Datum aber ganz brav in der Form 2013-03-31 12:04:27 drinnen. Es scheint also irgendwo ein Problem zu geben, wenn das Datum aus dem mySQL Format konvertiert wird ... oder?

    LG
    Bernd

  • hoi,

    jepp, hatte auch nochmal genauer nachgeschaut. die funktion xtc_date_long konvertiert das datum aus dem von dir genannten format, in ein leserlicheres (z.b. deutsches format). allerdings beachtet diese kein utf8 deswegen muss da noch die funktion utf8_encode "drumherum gelegt" werden. hatte es probiert, und es funktionierte danach auch wie es soll. allerdings musste ich die test-html-mail auch noch einmal aktualisieren (erstellen, und im fenster F5 drücken), damit das datum korrekt angezeigt wird. das kann natürlich auch am browsercache, oder am shopcache gelegen haben. mein erster gedanke war halt das die mail auch so in der db zwischen gespeichert wird, dass stimmt aber nicht.

    greetz, me