Polskie znaki w linkach do plików na serwerze |
Polskie znaki w linkach do plików na serwerze |
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.
|
|
|
6.11.2022, 15:31:36
Post
#2
|
|
Grupa: Zarejestrowani Postów: 377 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ę.
|
|
|
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)
|
|
|
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).
-------------------- |
|
|
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ć 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ę 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 |
|
|
8.11.2022, 09:50:21
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 034 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
|
|
|
Wersja Lo-Fi | Aktualny czas: 21.09.2024 - 05:52 |