Hallo Forum,
Ich möchte per exec Befehl eine Datei in ein SVN Repository hinzufügen. Folgender Befehl funktioniert ohne Probleme auf der Kommando-Zeile:
Code:
dms:~/pisnew$ svn import svn https://reposurl/test/commit --username xxx --password xxx -m test
Hinzufügen svn/aööääüü.txt
Revision 202 übertragen.
Wie zu sehen ist, enthält der Dateiname, der übertragen werden soll Sonderzeichen. Wenn ich nun den Befehl per exec() übertragen will:
Code:
$command = 'svn import svn https://reposurl/test/'.$c_path.' --username '.$user.' --password '.$password.' -m test';
$result = array();
$ret = exec($command, &$result);
var_dump($ret);
var_dump($result);
funktioniert es einfach nicht. Ich bekomme als Antwort einen leeren String, was schon darauf hindeutet, dass es nicht geklappt hat. Schaue ich in das Repository ist die Datei nicht vorhanden.
Wenn ich die Sonderzeichen in ae oe usw. "replace" funktioniert das exec wunderbar.
escapeshellcmd brachte keinen Erfolg.
Weiß jemand Rat?
Edit:
Ein exec(svn list) bringt mir übrigens statt der Umlaute die Unicodierung ?\195?\164 (ä) als Antwort.
Grüße,
Sandro