Autor | Zpráva | ||
---|---|---|---|
meiki Profil |
#1 · Zasláno: 3. 1. 2009, 15:37:35
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 |
#2 · Zasláno: 3. 1. 2009, 16:38:28
mas nastavene kodovani spojeni s databazi?
|
||
meiki Profil |
#3 · Zasláno: 3. 1. 2009, 16:58:52
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 |
#4 · Zasláno: 3. 1. 2009, 18:37:41
ja bych to tipnul na php manual a funkce urldecode()
|
||
meiki Profil |
#5 · Zasláno: 3. 1. 2009, 23:17:49
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 |
#6 · Zasláno: 5. 1. 2009, 16:44:57
<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 |
#7 · Zasláno: 5. 1. 2009, 17:24:31
meiki
Co treba vyzkouset echo $_GET['stranka']; Ten rewrite mas spatne, vyhovi i uplnym nesmyslum. Treba "gat/auto" nebo "aaaa/auto" RewriteRule ^tag/([^/]+)?/?$ /?stranka=tag&slovo=$1 |
||
Časová prodleva: 4 dny
|
|||
meiki Profil |
#8 · Zasláno: 9. 1. 2009, 14:26:14
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 |
#9 · Zasláno: 9. 1. 2009, 15:23:30
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 |
#10 · Zasláno: 9. 1. 2009, 16:05:07
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 |
#11 · Zasláno: 9. 1. 2009, 18:04:53
Celé překódováno, vše už funguje, tak jak má, díky za rady.
|
||
Časová prodleva: 15 let
|
0