Autor | Zpráva | ||
---|---|---|---|
Tomek Profil * |
#1 · Zasláno: 29. 3. 2009, 23:43:45
Ahoj,
převáděl jsem teďka web z win 1250 na utf-8 i s překódováním souborů, klasika. Všechno v pohodě, až dokud sem neotestoval přidávání do cookies, který se vypisujou lehce chybně. V IE jsem zkusil dát zobrazit kódování jako win 1250 a ejhle, sice se většina textu nedala přečíst, ale onen výpis z cookies byl v pořádku. Tak jsem usoudil, že cookies asi pojedou přes kódování winů. Tak jsem tam fouknul skript, kterej si zjistí kódování a předělá ho na utf. V IE mi to funguje, ale ve foxu se ten výpis z cookies rozmrvil ještě víc.. :( Nevíte co s tím? Děkuju |
||
Majkl578 Profil |
#2 · Zasláno: 30. 3. 2009, 08:43:08
nezapomel jsi pridat kod? :)
|
||
Tomek Profil * |
#3 · Zasláno: 30. 3. 2009, 08:50:58
Nezapomněl. Když zadáváš cookies, tak jméno, expiraci, hodnotu, žádný nastavení diakritiky tam není pokud vím. Všechny soubory mám v utf-8, hlavičku mám všude rovněž pro utf-8, tak se ptám, jestli někdo neví, proč cookies blbnou. Děkuju.
|
||
Mastodont Profil |
#4 · Zasláno: 30. 3. 2009, 09:50:27
Že by?
Problém také může nastat s uloženými cookies – pokud obsahují diakritiku (já do cookie ukládám jméno diskutujícího), tak je prohlížeč bude vracet v původním kódování. Řešit to jde vytvořením nové cookie a postupných převodem starých cookie http://php.vrana.cz/prevod-stranek-do-utf-8.php |
||
Joker Profil |
#5 · Zasláno: 30. 3. 2009, 10:27:35
Tomek
Když zadáváš cookies, tak jméno, expiraci, hodnotu, žádný nastavení diakritiky tam není pokud vím. Samozřejmě se uloží v takovém, v jakém se tam ten text zadá. V počítači je jen kupa nul a jedniček a znaková sada říká, jakým způsobem se mají symboly převádět na nuly a jedničky a obráceně. Tj. třeba "ř" ve Windows-1250 se uloží jako 11111000 a to, že v utf-8 11111000 samo o sobě nedává smysl a "ř" je 1100010110011001, má řešit programátor ;-) |
||
Tomek Profil * |
#6 · Zasláno: 30. 3. 2009, 13:41:50
Když říkáš, že se uloží v takovém, v jakém se zadají, tak u mě to znamená: Databázi mám textovou v utf-8 a z ní se přidávají názvy položek do cookies (přes form, select, option). Takže když vstupují do cookies v utf-8, tak kde se stane problém? Nebo je potřeba řešti kódování i ve formulářích? Děkuju za rady.
|
||
AM_ Profil |
#7 · Zasláno: 30. 3. 2009, 15:14:16
A zlobí ti i nově vytvořené cookies, nebo jen ty, které se vytvořily před změnou kódování?
Mimochodem, do cookies máš možná lepší strkat třeba číselný primární klíč místo textových údajů, pokud to v daném případě lze. |
||
Tomek Profil * |
#8 · Zasláno: 30. 3. 2009, 15:56:09
Nejsem (snad) idiot, samozřejmě že mi zlobí nově vytvářené cookies. :) Vynikající nápad, stydím se že mě to nenpadlo, do cookies stačí uložit id a podle něho si pak z datábaze vyvolat nějaký produkt. Dobře, moc dík, ale přecijen bych to rád vyřešil. Používám cookies i pro ukládání uživatelských dat, jako jsou jména a podobně.. Opět mockrát díky za případně rady!
|
||
Tomek Profil * |
#9 · Zasláno: 30. 3. 2009, 16:30:27
Jo nevim esi to pomůže, ale jedna věc: Správně se zobrazují znaky jako ř,č,š, blnou jen znaky typu á,é,í,...
|
||
Tomek Profil * |
#10 · Zasláno: 30. 3. 2009, 23:32:47
Tak od místních profíků bych se pomoci asi nedočkal. Obešel jsem to pomocí base 64 encoding, ale důvod blbnutí těch cookies furt neznám, asi to tak prostě musí bejt. :D
|
||
Časová prodleva: 11 měsíců
|
|||
Ratimor Profil * |
#11 · Zasláno: 25. 2. 2010, 17:50:51
škoda že jsi nepřidal kód jak jsi to obešel, řeším teď podobnou kulišárnu
|
||
Časová prodleva: 14 let
|
0