haferflocke: oscommerce polnisch schriftzeichen fehlerhaft

hallo alle,

und zwar gibt es ein problem mit der darstellung polnischer schriftzeichen der polnischen oscommerce version.

wir haben den db_dump nach umzug auf einen neuen server mit utf8-zeichencodierung importiert. nun werden die Polnischen schriftzeichen nicht mehr korrekt in der deutschen browser-version dargestellt (bei IE -> view -> encoding-> westeuropäisch windows), was denke ich die defaulteinstellung ist.
vor dem import war "soviel ich weiß" alles in ordnung.

Weiß jemand wie nun am besten vorgegengen wird um den Fehler zu beheben:

neuer import mit anderer zeichencodierung?
polnische sonderzeichen in htmlcodierung umwandeln? (DB ist ziemlich groß).

charset oscommerce steht auf 'iso-8859-2'

danke für eine hilfe, tip, etc.
haferflocke

  1. hi,

    wir haben den db_dump nach umzug auf einen neuen server mit utf8-zeichencodierung importiert. nun werden die Polnischen schriftzeichen nicht mehr korrekt in der deutschen browser-version dargestellt (bei IE -> view -> encoding-> westeuropäisch windows), was denke ich die defaulteinstellung ist.

    Wenn du die Daten als utf-8 kodiert hast, solltest du sie auch als utf-8 ausliefern.

    Die Einstellung im Browser bezieht sich übrigens nur darauf, was er wählen soll, wenn er gar keine Information zur verwendeten Kodierung übermittelt bekommt.

    Weiß jemand wie nun am besten vorgegengen wird um den Fehler zu beheben:

    neuer import mit anderer zeichencodierung?
    polnische sonderzeichen in htmlcodierung umwandeln? (DB ist ziemlich groß).

    Dokumente so ausliefern, dass das angegebene Encoding auch dem tatsächlich verwendeten entspricht.

    charset oscommerce steht auf 'iso-8859-2'

    Warum? Du hast doch für die Daten utf-8 verwendet?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. echo $begrüßung;

    neuer import mit anderer zeichencodierung?

    Du musst natürlich genau die Zeichencodierung angeben, die beim Exportieren verwendet wurde. Wenn du dem System eine andere Codierung erzählst, dann versucht es die ankommenden Zeichen gemäß dieser Kodierung zu interpretieren und scheitert daran.

    Angenommen du hast eine MySQL-Tabelle ISO-8859-1-kodiert exportiert und willst in eine Tabelle einlesen, die UTF8 als Kodierung verwendet (die Felder sollten das natürlich auch sein. Man kann das ja für jedes Feld einzeln einstellen), dann musst du beim Import wieder angeben, dass die Daten ISO-8859-1-kodiert sind. Die Umwandlung nimmt die Datenbank selbst vor (oder auch das eventuell zum Importieren verwendete phpMyAdmin).

    charset oscommerce steht auf 'iso-8859-2'

    Wenn du in der Datenbank UTF8-kodierte Daten speicherst, dann kannst du beim Abfragen angeben, dass die zurückgegebenen Daten ISO-8859-2-kodiert sein sollen. Dazu musst du aber beachten, dass Verluste auftreten können, da ISO-8859-x nur eine begrenzte Anzahl Zeichen enthält. Wenn du MySQL (ab Version 4.1) verwendest, beschäftige dich mit dem Kapitel Character Set Support. Außerdem gebe ich dir noch "SET NAMES ..." als Stichwort mit auf den Weg, das wirst du vermutlich später noch brauchen.

    echo "$verabschiedung $name";