[solved] PHP: system() mit Zeichensatzproblem
Verfasst: 05.06.2005 17:20
Hallo PHP-Experten! 
Ich hab fast keine Ahnung von PHP und modifizier nur ein Script und hab da ein Problem.
Es gibt eine von mir geschriebene Zeile mit
Die Variable xxx wird geechoet und in die Datei /tmp/test umgeleitet. Das funktioniert einwandfrei. Es gibt nur ein Problem mit den Sonderzeichen "§" und "€". Taucht eines davon in xxx auf wird es in der Datei als zwei Zeichen gespeichert. Ich bin ziemlich sicher, dass die Shell, die dieses Kommando aufnimmt den Unicode nicht versteht und das eine 2byte lange Unicodezeichen als zwei 8859-1-Zeichen interpretiert. Deswegen werde aus einem Zeichen, zwei Zeichen.
Wie kann ich sowas umgehen? Wie kann ich PHP zwingen den system()-Aufruf in 8859-1 zu machen. gibt es vielleicht eine funktion in der Art convertTo8859() ?
Ich hab auf dem Webserver Rootzugriff, also wenn es an einer falschen Konfiguration liegt, kann ich das auch beheben.

Ich hab fast keine Ahnung von PHP und modifizier nur ein Script und hab da ein Problem.
Es gibt eine von mir geschriebene Zeile mit
Code: Alles auswählen
system("echo '$this->xxx' > /tmp/test");
Wie kann ich sowas umgehen? Wie kann ich PHP zwingen den system()-Aufruf in 8859-1 zu machen. gibt es vielleicht eine funktion in der Art convertTo8859() ?
Ich hab auf dem Webserver Rootzugriff, also wenn es an einer falschen Konfiguration liegt, kann ich das auch beheben.