Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Krzaki zamiast polskich znaków w nazwach plików (tylko pod IE)
wojto
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,
mam skrypt, którego fragment odpowiedzialny za pobieranie pliku wygląda następująco:
  1. <?php
  2. header("HTTP/1.1 200 OK");
  3. header("Content-Length: $fsize");
  4. header("Content-Type: application/force-download; charset=utf-8");
  5. header('Content-Disposition: attachment; filename="'.$file->fil_uploaded_filename.'"');
  6. header("Content-Transfer-Encoding: binary");
  7.  
  8. if ($fh = @fopen($fpath, "rb")) {
  9. while($buf = @fread($fh, $bufsize)) {
  10. print $buf;
  11. }
  12. @fclose($fh);
  13. } else {
  14. header("HTTP/1.1 404 Not Found");
  15. }
  16. ?>

jeżeli wgram jakiś plik z polskimi znakami w nazwie (np. ąśółżźćńĄŚŹŻĆ.mpe), to przy pobieraniu plików, gdy najadę na link do pliku, w adresie widzę poprawną nazwę z polskimi znakami.
Gdy zaś kliknę "pobierz", to plik jest zapisywany pod nazwą (np. şźźććę₏ąśşźć.mp3)
dzieje się tak tylko pod IE, pod Operą i FF nazwy zapisywanych plików są poprawne.

Dodam, że wszystkie dane na stronie z formularzem oraz baza danych są w kodowaniu UTF-8

Czy ktoś ma pomysł co z tym zrobić?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.12.2025 - 22:21