maciek_3000
16.10.2006, 06:22:30
Witam!
Chcę stworzyć menedżera plików w php, aktualnie jestem na wstępnym procesie - wyświetlanie listy plików. Sam menedżer ma wyświetlać kodowanie w UTF-8, ale funkcja utf8_encode, która koduje z iso-8859-1 do utf-8 nie wyświetla prawidłowych wyników. Skrypt póki co testuje na maszynie pod Windows XP. Dopiero Iconv z windows-1250 do utf-8 sprawiło, iż pliki z ogonkami zaczęły sie wyświetlać na ekranie prawidłowo.
Chciałbym aby mój program bez problemu działał także na innych systemach - m. in. na Unixie, Linuxie, ale napewno kodowanie na tych maszynach z windows-1250 nie przyniesie wzorowych rezultatów.
Czy mógłbym liczyć od użytkowników tego forum o jakąś poradę?
Maciek
erix
16.10.2006, 07:17:17
Unix wykorzystuje chyba iso 8859-2 do kodowania polskich krzaczków.
maciek_3000
16.10.2006, 15:17:03
Dobrze, ale w takim razie muszę wprowadzić mechanizm rozpoznawania systemu na którym aplikacja jest uruchomiona, czy jest na to jakiś uniwersalny sposób?
erix
16.10.2006, 16:04:06
Sprawdzaj, czy zostały zdefiniowane funkcje z grupy w32api.
siemakuba
16.10.2006, 17:41:25
Cytat(erix @ 16.10.2006, 17:04:06 )

Sprawdzaj, czy zostały zdefiniowane funkcje z grupy w32api.
Czy to ma być test na sprawdzenie systemu? Czy nie lepiej w takim razie skorzystać z predefiniowanej stałej
PHP_OS? (
manual: Predefined Constants)
@maciek_3000: spróbuj z wymuszaniem kodowania:
<?php
ini_set('default_charset', 'UTF-8'); ?>
i możesz jeszcze spróbować puszczać nagłówek:
<?php
header('Content-type: text/html; charset=utf-8'); ?>
pozdr.
erix
16.10.2006, 18:18:18
Cytat
Czy nie lepiej w takim razie skorzystać z predefiniowanej stałej PHP_OS?
Kobyli łeb, wyleciało mi z głowy...
maciek_3000
17.10.2006, 06:49:13
wysłanie nagłówka i ustawienie domyślnego kodowania na utf8 nie przyniosło pozytywnych rezulatów.
Być może w trakim razie najlepszym rozwiązaniem będzie kodowanie przez iconv z windows-1250 na utf-8 dla Windowsa?
erix
17.10.2006, 13:26:19
Ale jeszcze musiałbyś sprawdzać jaka wersja Windows jest na serwerze, bo w9x koduje nazwy w CP, a NT - Unicode (na NTFS-ie).
maciek_3000
18.10.2006, 14:55:21
no to jakoś dziwnie to wygląda, bo mam platformę na WinXP i jakimś cudem mam zakodowane wszystko w CP
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.