Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Polskie znaki w linkach do plików na serwerze
karcheus
post 6.11.2022, 11:29:07
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.06.2016

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


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.
Go to the top of the page
+Quote Post
Salvation
post 6.11.2022, 15:31:36
Post #2





Grupa: Zarejestrowani
Postów: 344
Pomógł: 70
Dołączył: 15.07.2014

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


I problem jest w tej widocznej, domyślnej kopce dla ul>li? To dodaj CSS, który "usunie" tą kropkę.
Go to the top of the page
+Quote Post
karcheus
post 6.11.2022, 20:07:14
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.06.2016

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


Na czerwono zaznaczyłem polskie znaki, które wyświetlają się nieprawidłowo (po prawej stronie od tej kropki)
Go to the top of the page
+Quote Post
vokiel
post 6.11.2022, 22:38:51
Post #4





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


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).


--------------------
Go to the top of the page
+Quote Post
karcheus
post 7.11.2022, 08:38:33
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.06.2016

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


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>"
    
    
?>


Ten post edytował karcheus 7.11.2022, 08:49:13
Go to the top of the page
+Quote Post
com
post 8.11.2022, 09:50:21
Post #6





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

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


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
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 20:28