I have a strange problem on my login page in Asp.net this problem only happens with Safari.
When the user is validated I fetch the name of the user from the database
Safari will not set cookies with non-ASCII characters in their value and other browsers can be unpredictable in how they display non-ASCII characters. As semi-colon is also not allowed in cookie values for any browser I would recommend using UrlEncode/UrlDecode.
If you are just writing the cookie and do not have control over the site reading/displaying the value to put in the URLDecode you can also do something like this:
ckCookie.Value = (Server.HtmlEncode( strSpecialCharacters )).Replace(";","");
This will ensure the full string is set in the cookie and Safari, Chrome, Firefox and IE will still recognize the html codes even without the ; and does not require decoding when read.
For a longer answer on cookie specs see: Allowed characters in cookies