Autor | Zpráva | ||
---|---|---|---|
Ratimor Profil * |
#1 · Zasláno: 27. 2. 2010, 10:52:06
ahoj, mám problém s vytvořením cookies s diakritikou, je možné vytvářet cookies ještě v hlavičce? Když cookie vytvořím před hlavičkou přes php chápu že ještě není serveru jasné v jakém je to kódování a zmrví to diakritiku.. nevěděl byste někdo jak přes JS, nebo popřípadě přes php vytvořit cookies s diakritikou?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <link rel='stylesheet' href='./styl.css' type='text/css' /> <script type="text/javascript" language="javascript"> function sablonyUpravitOtazku(i, encoded) //i je označení řádku v cyklu a encoded je string, obsahující diakritiku... zkoušel jsem to různě zakódovat, //aby jí to neobsahovalo, ale to se nějak nepovedlo protože třeba base64_encode() v php neumělo pracovat s "ž". { var jmenoCookie="sablonaOtazka"; var dny = 1; // počet dnů, za které cookie vyprší var datum= new Date(); // získá aktuální datum v milisekundách datum.setTime((datum.getTime() + 1000 * 60 * 60 * 24 * dny)); // k datu přidá počet dnů document.cookie= jmenoCookie + "=" + encoded + "; expires=" + datum.toGMTString() ; document.getElementById('text_' + i ).style.display = ''; document.getElementById('input_' + i).style.display = 'none'; } </script> jakmile vložím do parametru encoded normální, nezakódovaný řetězec s diakritikou už ve správci cookies ve firefoxuje ta diakritika zmršená. Tak jestli někdo ví a má s tímhle nějaké zkušenosti tak prosím zkuste poradit. Ondra |
||
Fred Profil |
#2 · Zasláno: 27. 2. 2010, 14:31:46
|
||
Ratimor Profil * |
#3 · Zasláno: 27. 2. 2010, 15:55:56
mm, zajímavý řešení, dělat by se mi to určitě nechtělo, do budoucna nevím jak to budu řešit, doufám spíš že se s tím nepotkám :-D.. popřípadě když se v body da $_COOKIE['nazev']="šěšč"; tak to funguje správně. A tady to řeší přidání GET proměných do toho AJAXu
|
||
Chamurappi Profil |
#4 · Zasláno: 27. 2. 2010, 19:18:42
Související: Cookies a diakritika.. :(
Reaguji na Ratimora: Pusť na ten text funkci espace , nebo encodeURIComponent (a při čtení unescape a decodeURIComponent ).
Nebo můžeš ošetřit potenciálně problematické znaky nějakým vlastním druhem escapování, třeba nahradit je za hvězdičku + číslo znaku + hvězdičku: encoded = encoded.replace(/[\u0080-\uFFFF\*]/g, function(m){ return "*" + p.charCodeAt(0) + "*" }); decoded = decoded.replace(/\*(\d+)\*/g, function(m, m1){ return String.fromCharCode(m1) }); |
||
Časová prodleva: 14 let
|
0