When I’m reading the value of a cookie, the part after ‘@’ is being ignored. So, if my cookie value was “abc@xyz”, I’m just getting “abc” when I’m retrieving value by
Cookie cookies [] = request.getCookies ();
pwd=cookies[0].getValue();
whereas, in javascript I’m able to easily read it as “abc@xyz” and even in browser cookies, I can see the value of cookie to be “abc@xyz”. What could be wrong here?
My first guess would be a problem related to character encoding. Have you tried to urlencode and -decode the cookie value?
EDIT:
You would retrieve the cookie value by using
URLDecoder.decode (cookies[0].getValue(), "utf-8").In order for that to work, the value must of course be encoded in the first place: Use
URLEncoder.encode("abc@xyz", "utf-8"), if you’re setting the cookie value from Java, orencodeURIComponent("abc@xyz")to set the value from JavaScript. I don’t know how the cookie is set, so you might have to figure this one out for whatever platform you’re working on.