Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Polskie znaki z nazw plików i katalogów
Forum PHP.pl > Forum > Przedszkole
Sethergal
Witam

Piszę właśnie bazę opartą na plikach, oczywiście w php. Katalogi oznaczają nazwy działów, a nazwy plików, to nazwy produktów, firm, itp.. W każdym z takich plików są zapisane różne informacje.

Jestem w trakcie tworzenia panelu administracyjnego i trafiłem na mały problem. Nazwy plików i katalogów są z polskimi znakami i pobierając wstawiam je do linków, lub comboboxa. Niestety po pobraniu przez readdir polskie znaki nie wyświetlają się. Jak przestawić się na polską czcionkę?
Oto kod
  1. <select name="producent">
  2. <option value="0">nieznany
  3. <?
  4. // Pobieram nazwy producentów i wstawiam do comboboxa
  5.   // Pobieram nazwy plików z katalogu producentów
  6.   $list_ignore = array ('.','..','logofirm','Thumbs.db'); // logofim to katalog
  7.   $handle=opendir("../producenci");
  8.   $dirs=array();
  9.   $files=array();
  10.   $i = 0;
  11.   while (false !== ($file = readdir($handle))) {
  12.    if (!in_array($file,$list_ignore)) {
  13.        if(is_dir($file)) {
  14.          $dirs[]=$file;
  15.        } else {
  16.          $files[]=$file;
  17.        }
  18.        $i++;
  19.    }
  20.   }
  21.   closedir($handle);
  22.   $tab=array_merge($dirs,$files);
  23.   if ($i) {
  24.    foreach ($tab as $rep) {
  25.      // Dopisuję  nazwy plików do comboboxa
  26.      $x=1;
  27.      print"<option value='$x'>$rep";$x++;
  28.  
  29.    }
  30.   }
  31. ?>
  32. </select>


poprawiam
---
nospor
Vogel
Cytat(Sethergal @ 2006-04-05 13:11:04)
Piszę właśnie bazę opartą na plikach, oczywiście w php. Katalogi oznaczają nazwy działów, a nazwy plików, to nazwy produktów, firm, itp.. W każdym z takich plików są zapisane różne informacje.

1. kolejna "baza" na plikach? pytanie - po co? no chyba ze tak dla sportu i nauki...
2. w jakim kodowaniu zapisane sa pliki z "baza", w jakim "php" a w jakim wyswietlasz to wszystko na stronie? - podpowiem ze powinno byc to jedno i to samo kodowanie (polecam UTF-8)

edit:
do konwertowania kodowania uzywaj mb_convert_encoding()
Sethergal
Ad1. Dla nauki i dla sportu winksmiley.jpg
Ad2. Cała strona jest wyświetlana w iso-8859-2. Jak na razie działam tak jak leci i nie zmieniałem żadnego kodowania.

Coś nie wiem, jak tego mb_convert_encoding użyć.
wpisuję
  1. <?php
  2.  
  3. $rep=mb_convert_encoding($rep,"ISO-8859-2");print($rep);
  4.  
  5. ?>

i nic się nie dzieje. Zmiennej nie wyświetla.
Vogel
ok. strona jets wyswietlana w ISO, ale sprawdz czy wszystkie pliki sa kodowane w ISO.
Sethergal
Nie chodzi mi o zawartość plików, ale ich nazwy. Z zawartością nie mam problemów. Chodzi o to, że chciałbym mieć z Windowsa, Linuxa w widoku też polskie nazwy, a nie: ¦±Ľ¶ itp.. A jak zapiszę od razu z formularza nowy plik, czy katalog, to mam właśnie takie znaki.
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.