Hallo zusammen,
ich verwende XAMPP auf meinem Rechner als Entwicklungssystem für eine Webseite, die auf einem externen Server läuft.
Ich habe kürzlich meinen Rechner neu aufgesetzt (von Ubuntu 10.4 LTS auf 12.4 LTS). In diesem Zug habe ich von XAMPP 1.7 auf 1.8.3 gewechselt.
Dazu habe ich die PHP-Dateien 1:1 kopiert und die MySQL Datenbank mittels Exportieren vom externen Server aus phpMyAdmin und Import in phpMyAdmin auf XAMPP übertragen. So weit klappt auch alles.
Mit XAMPP 1.8.3 habe ich nun folgendes Problem: Umlaute werden als Fragezeichen dargestellt, und zwar genau die die aus der MySQL Datenbank kommen. Dies tritt nicht auf dem externen Server auf.
Die typischen Charset-Probleme habe ich überprüft:
Meine HTML Syntax weist <meta http-equiv="content-type" content=" http-equ; charset=UTF-8" > auf, Firefox interpretiert dies auch richtig (wird in den Zeichenkodierungen entsprechend ausgewählt)
Die Einstellungen des Datenbank Servers lt. phpMyAdmin ist: "Server Zeichensatz: UTF-8 Unicode (utf8)".
Die Einstellungen Zeichensatz/Kollation der MySQL-Verbindung lt. phpMyAdmin ist: "utf-8_general_ci".
Die Kollation meiner Datenbank ist "utf-8_general_ci".
Alle oben genannten Punkte sind auf dem externen Server und auf lokalem XAMPP 1.8.3 gleich.
Es bringt nichts die XAMPP php.ini zu ändern bei den default-charset und mysql-charset (von "no value" auf "utf-8).
Wenn ich Firefox bei der Ansicht des XAMPP Servers manuell auf ISO-8859-1 umstelle, werden die Zeichen richtig dargestellt: aus den Fragezeichen werden die richtigen Umlaute.
Wenn ich Firefox bei der Ansicht des externen Servers manuell auf ISO-8859-1 umstelle, werden die Zeichen falsch dargestellt: aus den richtigen Umlauten werden falsche Zeichen (z.B. aus ü wird ü).
Es scheint auch mehr als ein Darstellungsproblem zu sein: ich habe Datenbanktabellen mit Umlauten drin (ob das jetzt generell clever ist oder nicht sei mal dahingestellt - ich habe diese vollendeten Tatsachen so bekommen), diese Tabellen werden von den PHP-Skripten nicht mehr gefunden obwohl sie natürlich da sind (1:1 Kopie des externen Servers). Also such PHP mit "anderen Umlauten" als in mySQL gespeichert.
Nach meinen bisherigen Lösungsversuchen gehe ich davon aus, dass von XAMPP 1.7 auf 1.8.3 Einstellungen geändert wurden, die ich aber nun nicht finde.
Leider kann ich nicht zurück auf 1.7, da ich die Ubuntu 12.4 Version als 64bit installiert habe und XAMPP anscheinend erst ab der 1.8.2 Version mit 64bit arbeiten kann.
Zusammenfassung des Problems:
Umlaute werden unter XAMPP 1.8.3 falsch dargestellt, dies war noch in Ordnung unter XAMPP 1.7. Es gibt auch kein Problem beim externen Server, von dem ich die Daten 1:1 kopiert habe.
Welche Einstellungen könnten geändert worden sein?
An welcher Schraube könnte ich nun noch drehen?
Viele Grüße
seelem