PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php + smbclient + umlaute = problem


piepre
2010-11-26, 12:44:10
Moin,
ich schreibe gerade eine kleine Seite, die einen Datenaustausch ermöglichen soll.

Ich verwende smbclient um auf den Fileserver (in diesem Fall win2k3) zuzugreifen.

Befehl der ausgeführt wird:

smbclient '//fis02/test' -c 'dir' -U 'test%****' -d 0 -W 'LKLG' -O 'TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192' -b 1200 2>&1

$output = shell_exec($cmdline);

Leider gibt es bei Ordner und Dateien mit Umlauten probleme. In der Linux-Console wird alles wunderbar angezeigt:

Training DA 0 Mon Nov 15 14:46:47 2010
Türtelefonliste D 0 Mon Aug 16 10:19:23 2010
Upload D 0 Mon Jan 7 17:57:32 2008

wenn ich den gleichen Befehl über shell_exec ausführe bekomme ich aber folgendes:

Training DA 0 Mon Nov 15 14:46:47 2010
T Upload D 0 Mon Jan 7 17:57:32 2008

ich habe schon ein wenig mit locales, recode und sed herumgespielt, aber ohne Erfolg.

Jemand eine Idee?

Gast
2010-11-26, 13:35:42
http://de.php.net/manual/en/function.iconv.php

piepre
2010-11-29, 11:54:55
Das bringt mir leider nichts, da die Ausgabe schon verhunzt ist, wenn ich den shell-befehl über php ausführe. Scheinbar wird ein anderer Zeichensatz verwendet, wenn ich über php mittels shell_exec() den Befehl ausführe, da es ja funktioniert, wenn ich es direkt in der cosole eintippe...

piepre
2010-11-29, 12:15:56
so, endlich, habe es nun hinbekommen:

putenv('LANG=de_DE.UTF-8');
$output = shell_exec($cmdline);