Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykonanie polecenia shell_/exec - Problem z polskimi literkami
Forum PHP.pl > Forum > PHP
miso
Witam

Chcę wypisać wynik polecenia 'smbstatus -L' na stronę www.
Wydaje się bardzo proste.
Próbowałem wielu wersji. I za każdym razem mam problem z polskimi literami - to znaczy jeżeli w nazwie pliku są polskie litery to tekst jest ucinany.
Pierwsza najprostsza
  1. $pliki = shell_exec('smbstatus -L');
  2. echo "<pre>$pliki</pre>";


Następne wersje usuwały polskie znaki z $pliki - to też nie pomogło.

I wersja która mnie najbardziej zaskoczyła:
  1. shell_exec(smbstatus -L> plik);
  2. echo "<pre>'
  3. readfile("plik");
  4. echo "</pre>";


Jeżeli w linii poleceń skieruję smbstatus -L do pliku to wszystko jest OK;
Jeżeli robię to ze skryptu PHP to w pliku tez jest ŹLE - czyli w zapisanym pliku są również ucięte teksty na polskich literach.

Domyślam się polecenia przez PHP są uruchamiane z innymi localami ale nie wiem jak to zmienić.

Czy może ktoś mi poradzić jak wypisać wyjście z smbststus na stronę aby mieć nie urwane teksty?

Mój system to Ubuntu 8.04, polskie znaki są kodowane UTF8.

Pozdrawiam Mirek
fander
Kod
shell_exec('LANG=en_US.utf-8; somecommand -foo');


Może coś takiego będzie pomocne. Transformujesz tutaj kodowanie na wyjściu.
miso
Cytat(fander @ 24.09.2009, 11:04:37 ) *
Kod
shell_exec('LANG=en_US.utf-8; somecommand -foo');


Może coś takiego będzie pomocne. Transformujesz tutaj kodowanie na wyjściu.



Pomogło.
Dzięki wielkie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.