Hallo zusammen,
nachdem ich vor zwei Wochen ein Problem in meiner Anwendung dank dieses Forums gelöst habe stehe ich nun vor einem weiteren: Ich führe aus einem Servlet heraus auf der Kommandozeile in Linux eine php Datei mit dazugehörigen Parametern aus. Das Ganze wir von Servlet aus so aufgrufen:
Runtime.getRuntime().exec(php_command).waitFor();
das php_command sieht laut Java Konsole so aus:
/usr/bin/php-cgi /usr/local/tomcat[...]/check_file.php /usr/local/tomcat/[...]/2006_8_26_21633789_outfile.csv ';' 1 0 0
Was das Ganze macht soll hier nicht zur Debatte stehen, nur das an dieser Stelle ';' ein CSV Delimiter (ein Semikolon) an das php Programm (das übrigens von einem Projektkollegen geschrieben wird) übergeben werden soll. PHP nimmt das Ganze auch, wenn ich den String in die Linux Konsole paste, wenn das Servlet den Befehl mit obigem Kommando ausführt, will das php Programm den Delimiter anscheinend nicht verstehen und liest nur die erste Zeile des CSV Files. Ich habe mal nachgesehen: Mein Linux hat locale en_UTF-8 in der php.ini steht z.B. bei iconv:
Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1
Kann hier das Problem liegen? Oder ist das Problem eher beim Java VM Encoding zu suchen? Dann wäre ich bei PHP natürlich völlig falsch...
Danke schon mal und schönes WE noch
Jan