Sonderzeichen auf gleichem Server bei anderen IP Adressen
Hallo,
auf meinem Linux-Debian-Server (dedizierter Server, root) läuft seit Jahren ein Server, administriert mit VirtualMin.
Soweit alles ok und bestens, aber ...
seitdem ich auf einer neuen IP (wird problemlos erkannt und zugeordnet) eine Domain erstellt habe (auch "verschieben" wurde in VirtualMin probiert) habe ich nur dort Ärger mit Sonderzeichen:
Folgendes PHP Script schreibt auf der Haupt-IP alles richtig, auf der anderen IP fehlerhafte Zeichen:
$file = fopen("test.txt","w");
fwrite($file, "§§");
fclose($file);
Ergebnis auf IP A = "§§"
Ergebnis auf IP B = "§§"
Natürlich läuft alles auf einer Hardware, über einen Apache2-Server und über eine PHP5 Installation. Die conf & ini Dateien habe ich verglichen (auch mit Differenztools) und bis auf die erforderlichen Unterschiede (Benutzernamen, Pfade, ..) sind alle Einstellungen gleich. Default-Charsets gibt es nicht, weder auf A noch auf B. Und da auf der IP A alles weiterhin bestens läuft und noch nie Probleme machte, kann das ja nicht die Ursache sein.
Wenn ich solch eine Textdatei per FTP auf den Server schiebe, sind die Zeichen auch verkehrt.
Schreibe ich die Datei mit nano direkt über SSH auf dem Server ist alles bestens und richtig.
Hat einer von Euch eine Idee oder eine Lösung ?
Freue mich sehr über Rückmeldungen.
auf meinem Linux-Debian-Server (dedizierter Server, root) läuft seit Jahren ein Server, administriert mit VirtualMin.
Soweit alles ok und bestens, aber ...
seitdem ich auf einer neuen IP (wird problemlos erkannt und zugeordnet) eine Domain erstellt habe (auch "verschieben" wurde in VirtualMin probiert) habe ich nur dort Ärger mit Sonderzeichen:
Folgendes PHP Script schreibt auf der Haupt-IP alles richtig, auf der anderen IP fehlerhafte Zeichen:
$file = fopen("test.txt","w");
fwrite($file, "§§");
fclose($file);
Ergebnis auf IP A = "§§"
Ergebnis auf IP B = "§§"
Natürlich läuft alles auf einer Hardware, über einen Apache2-Server und über eine PHP5 Installation. Die conf & ini Dateien habe ich verglichen (auch mit Differenztools) und bis auf die erforderlichen Unterschiede (Benutzernamen, Pfade, ..) sind alle Einstellungen gleich. Default-Charsets gibt es nicht, weder auf A noch auf B. Und da auf der IP A alles weiterhin bestens läuft und noch nie Probleme machte, kann das ja nicht die Ursache sein.
Wenn ich solch eine Textdatei per FTP auf den Server schiebe, sind die Zeichen auch verkehrt.
Schreibe ich die Datei mit nano direkt über SSH auf dem Server ist alles bestens und richtig.
Hat einer von Euch eine Idee oder eine Lösung ?
Freue mich sehr über Rückmeldungen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 193053
Url: https://administrator.de/contentid/193053
Ausgedruckt am: 26.11.2024 um 08:11 Uhr
8 Kommentare
Neuester Kommentar
Moin,
Ist es dieselbe Debian-Version? Wenn das eine schon Jahre läuft und der andere neu hinzugekommen ist, könnte es eine neuere debian-release sein (ja, auch debian bringt ab und zu neue releases raus. ). Diese könnte andere lokale Einstellugnen bzgl. Zeichenkodierung (ISO/UTF) haben, was dann ggf auf PHP durchschlägt.
lks
Ist es dieselbe Debian-Version? Wenn das eine schon Jahre läuft und der andere neu hinzugekommen ist, könnte es eine neuere debian-release sein (ja, auch debian bringt ab und zu neue releases raus. ). Diese könnte andere lokale Einstellugnen bzgl. Zeichenkodierung (ISO/UTF) haben, was dann ggf auf PHP durchschlägt.
lks
Ohne jetzt genauer zu gucken, das ist nicht 7 zu 8 Kodierung o.ä. sondern Unicode - sprich über Haupt-IP UTF-8 oder ISO, über die andere UTF-16 - php.ini/httpd.conf/vhost.conf - da sollte irgendwo die unterschiedliche Behandlung stehen.
Auch denkbar ist, daß die beiden Domains auf zwei unterschiedlichen Festplatten-Partitionen abgelegt sind und die UTF-Vorgabe dann vom Dateisystem kommt, /etc/fstab sollte da den Anhaltspunkt geben.
Auch denkbar ist, daß die beiden Domains auf zwei unterschiedlichen Festplatten-Partitionen abgelegt sind und die UTF-Vorgabe dann vom Dateisystem kommt, /etc/fstab sollte da den Anhaltspunkt geben.
Wenn ich solch eine Textdatei per FTP auf den Server schiebe, sind die Zeichen auch verkehrt.
Schreibe ich die Datei mit nano direkt über SSH auf dem Server ist alles bestens und richtig.
Schreibe ich die Datei mit nano direkt über SSH auf dem Server ist alles bestens und richtig.
na, das hätte mir auch heute früh auffallen können,
die Benutzer bekommen ja eine Umgebung - mit unterschiedlichen Defaults für die Sprache - die wieder mit -CharacterSet umgesetzt werden - .bashrc der Nutzer vielleicht? - wie's mit FTP ist, weiß ich nicht wirklich - ssh und scp lieber... - welcher Server eigentlich? wuftp/...
den beiden VHosts werden evt. verschiedene Benutzer zugeordnet - auch wenn's nur einen www-data gibt, also auch /etc/passwd mit den Besitzern der /var/www/... (o.ä.) vergleichen.
Zitat von @broecker:
>Wenn ich solch eine Textdatei per FTP auf den Server schiebe, sind die Zeichen auch verkehrt.
>Schreibe ich die Datei mit nano direkt über SSH auf dem Server ist alles bestens und richtig.
na, das hätte mir auch heute früh auffallen können,
>Wenn ich solch eine Textdatei per FTP auf den Server schiebe, sind die Zeichen auch verkehrt.
>Schreibe ich die Datei mit nano direkt über SSH auf dem Server ist alles bestens und richtig.
na, das hätte mir auch heute früh auffallen können,
Jetzt wo Du es sagst, fällt es mir auch auf:
Prüf mal die environment-variablen in deiner ssh-Sitzung (LC, LANG & Co.). Schau mal in Deiner PHP-Sitzung, wie diese Variablen gesetzt sind.
lks