Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne]problem z wyrażeniami regularnymi zawierającymi polskie znaki
lamcpp
post 6.12.2011, 08:53:31
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


witam, używam .htaccess do tworzenia prostych adresów, taka reguła:
Kod
RewriteRule ^Inne/([0-9]+)/([0-9]+)/([-\s{}0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\?]+)$ index.php?kategoria=Inne&id=$1&page=$2&nazwa=$3

działa dobrze do czasu, gdy nazwa artykułu zawiera polskie znaki.
Cytat
np. Jak zbadać glebe?

Jest tu znak ć, wyrażenie nie zadziała a serwer zwróci błąd 404, w którym będzie pisało:
Cytat
The requested URL /Inne/2/1/Jak-zbadać-glebe?

widać tu że polskie znaczki zostają zamienione na jakieś krzaczki, ć -> zostało zamienione na ć
i w przypadku gdy dodam do reguły znak ć to wszystko będzie działać poprawnie:
Kod
RewriteRule ^Inne/([0-9]+)/([0-9]+)/([-\s{}0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\?ć]+)$ index.php?kategoria=Inne&id=$1&page=$2&nazwa=$3

Pytanie: skąd się wzięły takie krzaczki zamiast pl znaków, jak zrobić by nie trzeba było dodawać w regule tych krzaczków a'la: ć tylko by poprawnie reagowała ona na polskie znaki?
Go to the top of the page
+Quote Post

Posty w temacie


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: 25.06.2025 - 06:10