Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Polskie znaki w zmiennej
Forum PHP.pl > Forum > Przedszkole
axwell
Mam zmienną "$dzial", która jest zarazem tytułem pewnego działu w download. Więc gdy chcę przejść do tego działu to mam zmienną
  1. <?php
  2. show.php?page=$dzial
  3. ?>


Lecz w przypadku, gdy dział nazwę 'Dział testowy' to w tym ciągu zawarty jest polski znak. Zmienna wygląda wtedy:
  1. <?php
  2. show.php?page=Dział_testowy
  3. ?>
Moje pytanie, czy w jakiś sposób jest to nie poprawne?? Dodam, na localhoscie działa.
gox
A co sie dzieje po kliknieciu?
Ladowny jest plik o nazwie "dzial testowy.html"

Na poczatek zadbaj aby plik skryptu byl zakodowany tak samo jak strona z ktorej klika sie w odnosnik...
l0ud
Przeglądarka powinna sama zamienić te znaki na właściwe. Możesz jednak zrobić to ręcznie:
http://pl2.php.net/manual/pl/function.urlencode.php
axwell
Po kliknięciu w taki link ładuje się strona z działem, która generowana jest w zależności właśnie od tego jaką treść ma zmienna. Załóżmy, że dział nazywa się "Dział testowy", wtedy otwiera się strona i wypisuje wszytskie dane które mam zawarte w pliku dzialy.dat. Jego struktura to Dział_testowy||zmienna1||zmienna2||itd....

Oczywiście wszytskie strony mojego portalu kodowane są tak samo czyli w UTF8
l0ud
Jeżeli jest tak jak wyżej, nie polecam nadawania tytułów mających polskie znaki (po prostu będzie to brzydko wyglądało w adresie). Jeżeli jednak tak bardzo chcesz, użyj funkcji którą podałem wyżej.
gox
A jesli nie zalezy Ci na urlu, i chcesz miec pewnosc ze polskie krzaki nie zmienia sie nigdy w jakies nieczytelne artefakty, to uzyj kodowania base64, tylko pamietaj o htmlspecialchars() jesli wyswietlasz na stronie to co przychodzi z urla.
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.