Autor Zpráva
meiki
Profil
Ahoj, dělám jednu stránku na které mám v plánu použít tagy. Používam htacces a mod_rewrite, takže vše funguje do doby než použiji tag s diakritikou. Myslím, že nejjednodušší to bude vysvětlené na příkladu.

Dejme tomu, že mám v kódu toto:
<a href='tag/auto'>auto</a>

<a href='tag/žlutý kůň'>žlutý kůň</a>


Kód v htacces vypadá takto:
RewriteRule ^([tag]+)/([^/]+)?/?$ /?stranka=$1&slovo=$2


U prvního není problém. Adresa vypadá takto www.neco.cz/tag/auto a vše se v DB zpracuje
"SELECT * FROM clanky WHERE tag='{$_GET["slovo"]}'"
.

Ale u druhého vznikne takováto adresa www.neco.cz/tag/žlutý kůň a to napíše že v DB nic takového není, ale já vím, že to tam je.

Proto se ptám, najde se tu nějaká dobrá duše, která mi poradí jak na to. Díky moc
Majkl578
Profil
mas nastavene kodovani spojeni s databazi?
meiki
Profil
Mám tam cp1250, kdybych to dal do dotazu DB přímo, tak to funguje. Problém bude asi někde ve zpracování toho url...
Mike8748
Profil
ja bych to tipnul na php manual a funkce urldecode()
meiki
Profil
tak jsem si urldecode i urlencode projel, teoreticky vim co se stane, ale porad mi to nefunguje...

Takto zapsane nefunguje decode ani encode.
urlencode($_GET["slovo"])


Proto mě napadá, nebude o fungovat jen s použitím $_SERVER['REQUEST_URI']? Ale když tohle dám do nějaké proměné, tak se mi tam uloží všecno, což nepotřebuji... Jak na to prosím?
vodniobchod
Profil
<a href='tag/žlutý kůň'>žlutý kůň</a>

Nevím na co přesně to máš, ale podle mě kdyby udělal toto:
<a href='tag/žlutý_kůň'>žlutý kůň</a>
tak to bude fungovat
bohyn
Profil
meiki
Co treba vyzkouset
echo $_GET['stranka'];
abys vedel co ti to vlasne predava? mod_rewrite + diakritika neni zadny problem.

Ten rewrite mas spatne, vyhovi i uplnym nesmyslum. Treba "gat/auto" nebo "aaaa/auto"
RewriteRule ^tag/([^/]+)?/?$ /?stranka=tag&slovo=$1
meiki
Profil
Tak jsem se k tomu zase dostal, to byla dobrá finta si vyzkoušet jaký slovo mi to dává. Ale nezjistil jsem nic příjemného.
Tak třeba ten žlutý kůň po vypsání z GET vypadá nasledovně: ĹľlutĂ˝ kĹŻĹ�

Jak tedy docílit toho, aby se vypsal tak jak má...
bohyn
Profil
meiki
Prohlizec predava adresu v UTF-8 kodovani. Reseni je:
1) zacit pouzivat kodovani UTF-8
2) nebo prekodovat
$_GET['stranka'] = mb_convert_encoding($_GET['stranka'], "windows-1250", "UTF-8");
meiki
Profil
Diky za rady

1) to by slo jen v případě, že by mi to nezničlo český text úplně všude
2) Hází to hlášku: Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unknown encoding "windows-1250" což mi přijde docela divné, že by toto kódování neznala
meiki
Profil
Celé překódováno, vše už funguje, tak jak má, díky za rady.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: