Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: PHP SSH2 problém s kódováním  (Přečteno 1558 krát)

HosipLan

  • Návštěvník
  • Příspěvků: 3
PHP SSH2 problém s kódováním
« kdy: 18 Března 2009, 20:50:47 »
Zdravím,
zkompiloval jsem si modul ssh2.so nakopíroval ho do /usr/lib/php5/20060613+lfs a doplnil do php.ini
a až na jeden problémek mi to perfektně běhá... blbne mi kódování pravděpodobně,
protože když si vypíšu adresář

Kód: [Vybrat]
$conn = new ssh2("localhost"); // napsal jsem si třídu založenou na jednom příkaldu na php.net
$conn->login('username', 'password')->sftp();
print_r( $conn->scan('/home/hosiplan') );

tak mi to u souboru "Šablony" vrátí "ablony" a netuším co s tím

Kód: [Vybrat]
function scan($folder){
...
$dir = "ssh2.sftp://{$this->sftp}{$folder}"; // $this->sftp obsahuje resource vytvořený pomocí ssh2_sftp()
$handle = opendir($dir);
while( $file = @readdir($handle) ){ print("\nFile: $file <br>\n"); }
...
}

nemá s tím někdo nějaké zkušenosti ? popřípadě nápad jak to vyřešit ? díky za každou odpověď

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: PHP SSH2 problém s kódováním
« Odpověď #1 kdy: 16 Května 2009, 18:45:06 »
Zdravim.

Mozna pisu uz pozde, ze je to vyreseno. Obdobny problem jsem mel pri vypisu dat z databaze nebo pri vypisu seznamu souboru na Novellu. A to proto, ze PHP kod byl v iso-8859-2 (mam toto kodovani rad) a Novell je v Latin2 (dnes dokonce v UTF-8). Zkusil bych dany PHP skript prekodovat do stejneho kodovani jako je dany filesystem. Mohlo by to pomoci. Podle mne je to jen v kodovani vypisu.

Ale radeji bych se pokusil vyhnout pouzivani mezer a CZ diakritiky v nazvech souboru a adresaru. Muze to delat paseku. Jsem stara skola a celou dobu do nas toto pravidlo vkladali (jiz od DOSu) a musim priznat, ze se mi to uz mnohokrat vyplatilo. V praci mame Windows a novy Novell Client (pokud neni vypnuto) ma defaultne UTF8 a ostatni co maji stare clienty maj Latin2, takze pak dany nazev neprectou a se souborem nemohou pracovat.


Renek






 

Provoz zaštiťuje spolek OpenAlt.