snoopy155887
Goto Top

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.

Content-ID: 193053

Url: https://administrator.de/contentid/193053

Ausgedruckt am: 26.11.2024 um 08:11 Uhr

MrNetman
MrNetman 20.10.2012 um 12:31:16 Uhr
Goto Top
Hi Snoopy,

ASCII 7-bit (default für FTP) und ASCII 8-bit.
Darauf muss man bei den FTP Einstellungen achten.
Für Text reichen 7 bit aus. Für anderes wieder nicht.

und führe nicht so ein Hundeleben ....

Gruß
Netman
snoopy155887
snoopy155887 20.10.2012 um 15:45:54 Uhr
Goto Top
Hallo Netman,

danke für Deine Antwort. Mit den FTP Einstellungen (kopiert vom anderen FTP-Serverprofil) klappt es auf dem anderen Server wunderbar. Der FTP Server ist der gleiche.

Und warum wird von PHP solcher Mist gespeichert ?
Lochkartenstanzer
Lochkartenstanzer 20.10.2012 aktualisiert um 18:54:42 Uhr
Goto Top
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. face-smile). Diese könnte andere lokale Einstellugnen bzgl. Zeichenkodierung (ISO/UTF) haben, was dann ggf auf PHP durchschlägt.

lks
snoopy155887
snoopy155887 20.10.2012 um 19:05:00 Uhr
Goto Top
Moin moin,

ist der gleiche Server, ein RAID, ein System, eine Hardware - nur laufen mehrere IPs auf diesem Server auf.
VirtualMin wird dann für die Verwaltung der Domains und deren Verteilung auf die IPs etc. genutzt.
Soweit alles ja auch ok.

Nur bei einer Domain (hat eine IP für sich alleine) klappt das nicht. Dabei kann das Problem nicht beim FTP Server liegen (zumind. nicht alleine), denn PHP auf dem Server (s.o.) macht den gleich Mist.

Update: Das gilt dann für alle Domains gleich, der Rest geht aber.
broecker
broecker 21.10.2012 um 07:58:05 Uhr
Goto Top
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.
snoopy155887
snoopy155887 21.10.2012 um 08:32:08 Uhr
Goto Top
Vielen Dank für Ihre Hinweise.

Jetzt sehe ich in der vhost-Config nach - httpd,apache-configs und php.inis hatte ich bereits verglichen (auch mit Tools um nichts zu übersehen).

Es liegt alles auf einer Partition und genau diese Rahmendebedingungen machen mich auch so wahnsinnig: Alles auf einem Hard- und Software-Server. Nur halt durch VirtualMin auf eine andere IP gesetzt, welche natürlich auch auf dem Server ankommt und per reverse auch richtig aufgelöst wird.

Es bleibt für mich nur eine config-datei - aber welche kann die dateiablage via php noch derart verändern ?
Ich bin am Ende meines Lateins :o(
broecker
broecker 21.10.2012 aktualisiert um 21:38:40 Uhr
Goto Top
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,
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.
Lochkartenstanzer
Lochkartenstanzer 21.10.2012 aktualisiert um 21:13:58 Uhr
Goto Top
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,

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