[PHP+htaccess] Polskie znaki

0

Siemka! Wreszcie zacząłem pisać własnego cms! I jak zwykle coś nie jarze. Chodzi o polskie znaki. Mam plik htaccess a w nim:
RewriteEngine On
RewriteRule ^([a-zA-Ząśłćźż123456789]+)$ /$1/ [R]
RewriteRule ^([a-zA-Ząśłćźż123456789]+)/$ /ogladaj.php?id=$1
. Teraz wchodzę na stronkę :
http://page.pl/ąśćź
Znaki ąśćź są posyłane do pliku ogladaj.php za pomocą geta, a ten plik je wyświetla. No. Tylko zamiast ąśćź jest š�ć� . Próbowałem napisać właną funkcje, która pozmienia te znaki na polskie. Napotkałem problem. Znak ś i ź mają po prze konwertowaniu przez htaccess te same znaki ?? . To co mam zrobić by był polskie znaki???

0

Używać tego samego kodowania co przeglądarka do zakodowania adresu :> IE chyba koduje w cp1250, FF w iso (lub utf jak sie przestawi). Opera chyba domyślnie ma UTF.
Jak generujesz link przepuszczaj go przez (raw)urlencode.

0

Uff. Przepuszcze link przez urlencode i zrobie funkce która daje polskie znaki. Jak na razie jest np %9C

0

polece kolejny raz mój twór - my_iconv(). Podajesz tylko kodowanie docelowe, a funkcja "na chama" zamienia znaki na polskie. Rozwiązanie może nie eleganckie, ale za to proste i skuteczne :]

http://pastebin.4programmers.net/2677

to najnowsza wersja, więc przydało by się sprawdzić, czy wszystko dobrze zamienia, ale powinno być ok

edit: ale ogólnie, to nie polecam polskich znaków w urlu. Najlepiej, jak zamienisz je na "polskawe", czyli obetniesz ogonki - moją funkcją też to zrobisz (wystarczy jako kodowanie docelowe podać np. bez-ogonkow, albo iso-8859-1)

1 użytkowników online, w tym zalogowanych: 0, gości: 1