Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie znaki w linkach do plików na serwerze
Forum PHP.pl > Forum > PHP
karcheus
Mam skrypt w php, który generuje stronę z linkami do plików znajdujących się na serwerze. W załączniku przestawiam zaistniały problem. Szukam rozwiązania. Proszę o pomoc.
Salvation
I problem jest w tej widocznej, domyślnej kopce dla ul>li? To dodaj CSS, który "usunie" tą kropkę.
karcheus
Na czerwono zaznaczyłem polskie znaki, które wyświetlają się nieprawidłowo (po prawej stronie od tej kropki)
vokiel
Wszędzie powinieneś mieć te same kodowanie znaków (np UTF-8). Wysyłasz header do przeglądarki ale może same pliki nie są w UTF-8 (a wygląda mi to na Windowsa, więc to prawdopodobne).
karcheus
W pliku który wyświetla linki (index.php) ustawiłem nagłówek na kodowanie utf-8 (co widać na załączonym zrzucie).
Dodatkowo ten plik jest zakodowany w utf-8 (patrz niżej)

Sama zawartość plików, do których są tworzone linki też są zakodowane w utf-8 i mają odpowiedni nagłówek (chociaż wydaje mi się, że to akurat nie ma znaczenia bo kod nie wczytuje tych plików tylko ich nazwy)
Co jeszcze mogę sprawdzić?
Tam gdzie jest plik index.php wrzuciłem jeszcze plik .htaccess o zawartości:
Kod
AddCharset utf-8 .html .css .php .txt .js
IndexOptions +Charset=UTF-8
AddDefaultCharset UTF-8

ale to też nic nie dało
Proszę o porady co jeszcze mogę sprawdzić/zmienić co_jest.gif

Edit: Przesyłam też kod pliku index.php w formie tekstowej, może ktoś jest w stanie dla mnie to przetestować u siebie? Obok tego pliku trzeba wsadzić jakiś plik o rozszerzeniu html, który w nazwie ma polskie znaki. Z góry dziękuję heart.gif
Kod
<?
    //header("Content-Type: text/html; charset=UTF-8");
    echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
    $phpfiles = glob("*.html");
    echo "<style>ul li {padding: 10px 0;} * { font-family: Calibri; } </style>";
    echo "<ul>";
    foreach(array_reverse($phpfiles) as $phpfile)
    {
        
        echo '<li><a href="'. str_replace(" ", "%20", basename($phpfile)) . '">' . $phpfile . '</a></li>';
    
    }
    
    echo "</ul>"
    
    
?>
com
Przede wszystkim to utf-8 bez bom, ale jak miałeś inne kodowanie to trzeba dać konwertuj a nie ustaw bo to nie zadziała w ten sposób smile.gif
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-2024 Invision Power Services, Inc.