Zeichensatzproblem nach Kopieren des Shops

Thema wurde von daniel-und-uwe, 10. Februar 2014 erstellt.

  1. daniel-und-uwe

    daniel-und-uwe Neues Mitglied

    Registriert seit:
    30. Januar 2014
    Beiträge:
    2
    Danke erhalten:
    0
    Hallo,

    um kleinere, individuelle Anpassungen am Gambio Shop vornehmen zu können, wurde zunächst von der produktiven Umgebung (PROD) des Shops eine Kopie als lokale Entwicklungsumgebung (DEV) aufgebaut und entsprechend eines Hinweises des Gambio-Support-Teams ein Datenbank-Backup erstellt, Shop-Dateien kopiert etc. Dies funktionierte soweit recht gut.

    Nach Aufruf des Shops auf der DEV-Umgebung wurden jedoch im Gegensatz zur PROD-Umgebung am Frontend teilweise Umlaute nicht korrekt dargestellt - statt Umlaut das UTF-8-Zeichen.

    Beim Betrachten der funktionierenden PROD-Umgebung sieht man, dass der Zeichensatz des MySQL-Servers UTF-8 ist. phpMyAdmin zeigt, dass jedoch die eigentliche Gambio Shop-Datenbank mit Zeichensatz latin1_swedish_ci angelegt wurde. Schaut man sich im Quelltext der geneierten HTML-Dateien die Meta-Information an, werden die Web-Seiten des Shops mit charset=iso-8859-15 ausgeliefert.

    Die DEV-Umgebung wurde nach dem Vorbild der PROD-Umgebung (ausgenommen das Betriebssystem) aufgesetzt. Nach Übernahme der Daten auf die DEV-Umgebung stimmen auch die Zeichensätze der Gambio Shop-Datenbank überein.

    Die Datenbank wurde mittlerweile sowohl mit phpMyAdmin als auch MySQLDumper von der PROD-Umgebung sowohl einmal als utf8, als auch latin1 exportiert und entsprechend in DEV-Umgebung importiert. Egal welche Variante gewählt wurde, auf der DEV-Umgebung werden am Frontend z.T. Umlaute als UTF-8-Zeichen angezeigt. Die Zeichensatz-Codierung der exportierten SQL-Dateien wurde überprüft. Diese ist OK. Bei utf8 wird im Ultra Edit auch UTF-8 angezeigt, im Gegensatz zu latin1. Stellt man im Browser den Zeichensatz von ISO-8859-15 auf UTF-8 um, gibt es keine Probleme mehr mit der Darstellung von Umlauten.

    Obwohl der MySQL-Server-Zeichensatz, der Gambio Shop-Datenbank-Zeichensatz und die PHP-Dateien (bis auf die angepassten configure.php) gleich zu sein scheinen, gibt es zwischen der PROD- und DEV-Umgebung diesen Unterschied in der Darstellung der Umlaute am Frontend.

    Trotz Recherche im Web und auch hier im Forum (gleiches Problem: http://www.gambio-forum.de/threads/7146-Zeichensatzproblem-nach-Serverumzug) bin ich bzgl. einer Problemlösung noch nicht fündig geworden. Daher die Frage nun an das Forum: Hat evtl. jemand einen Tipp, worin das Problem besteht und wie dieses behoben werden kann?

    Viele Grüße,
    Uwe.
     
  2. daniel-und-uwe

    daniel-und-uwe Neues Mitglied

    Registriert seit:
    30. Januar 2014
    Beiträge:
    2
    Danke erhalten:
    0
    Hallo,

    nachdem ich mehrere, leider erfolglose Tests bzgl. des Daten-Ex- und importes und Anzeige
    - sowohl mit MySQLDumper und phpMyAdmin mit den Zeichensätzen latin1 und utf8
    - als auch mit Apache http, PHP und MySQL mit den Zeichensätzen ISO-8859-1 / latin1 und utf8 / UTF-8 durchgeführt hatte, wendete ich mich noch einmal an den Gambio Support.

    Mein eigentliches Ziel war eigentlich, in der Entwicklungsumgebung alle Quelldateien des Produktionssystems 1:1 zu übernehmen und nur die includes/configure.php-Dateien anzupassen.

    Nachdem ich mit phpMyAdmin die Datenbank mit Zeichensatz/Kollation der MySQL-Verbindung latin1_swedish_ci und Zeichencodierung der Datei utf-8 nach den Tests neu importiert und nach Hinweis vom Gambio Support in inc/xtc_db_connect.inc.php die zweite Zeile von
    Code:
    if ($$link) mysql_select_db($database); 
    @mysql_query("SET NAMES latin1");
    return $$link;
    
    ergänzt hatte, werden nun alle Umlaute korrekt angezeigt.

    Es muss noch einen Unterschied zwischen dem Produktions- und Entwicklungssystem in der charset-Konfiguration von Apache http und/oder PHP und/oder MySQL geben.

    Falls mir der Provider, an den ich mich mittlerweile gewendet habe, die charset-Konfiguration von Apache http, PHP und MySQL des Produktionssystems mitteilt, werde ich hoffentlich den Unterschied erkennen und in der Entwicklungsumgebung anpassen.

    Andernfalls bleibt es bei der zusätzlichen Anpassung von inc/xtc_db_connect.inc.php auf dem Entwicklungssystem.

    Vielen Dank an den Gambio-Support für die Unterstützung und viele Grüße,
    Uwe Klapproth