none
Acentuação e Cookies RRS feed

  • Pergunta

  • Olá,

    Estou com um problema de cookies e acentos.

    Tenho um site em que eu escolho a cidade que quero que seja mostrada.

    O nome da cidade é inserida no cookie do navegador do cliente.

    Mas em alguns navegadores, palavras com acentos aparecem estranhas, ex: a palavra São José do Rio Preto aparece: São José do Rio Preto 

    Já utilizei todos os tipos de exemploes que encontrei na net e os desse tópico: 

    http://social.msdn.microsoft.com/forums/pt-br/aspnetpt/thread/5E3B32EC-8FB9-4205-A359-0D72B6146242

    Mas nada da certo!!!!!!!!! 

    O que eu faço? alguém tem uma solução?

    Eu insiro no cookie assim: 

    context.Response.Cookies["CidadeSelecionada"].Value = context.Request.QueryString["cookie"].ToString();
                context.Response.Cookies["CidadeSelecionada"].Expires = DateTime.Now.AddYears(1);

    e mostro assim no html:

    <%=Request.Cookies["CidadeSelecionada"] != null?Request.Cookies["CidadeSelecionada"].Value:"" %>


    • Editado Murilo Bom terça-feira, 13 de março de 2012 17:31
    terça-feira, 13 de março de 2012 13:54

Respostas

  • Uma outra opção que você tem é de usar os codigos html para fazer os acentos como por exemplo a letra ã, ela pode ser representada colocando o codigo html &atilde;

    Caso não queira digitar os codigos html você pode usar o proprio asp.net para fazer isto assim:

    //Para criar
    Session.Add("cidade", Server.HtmlEncode("Jaú"));
    
    //Para capturar
    string cidade = Server.HtmlDecode(Session["cidade"]);

    para saber mais sobre os caracteres especiais em html segue o link:

    http://www.ime.usp.br/~glauber/html/acentos.htm

    Espero ter ajudado,

    Abraços

    • Marcado como Resposta Murilo Bom terça-feira, 13 de março de 2012 17:31
    terça-feira, 13 de março de 2012 16:24

Todas as Respostas

  • Realmente,

    Quando escolhi Penápolis, apareceu:
    Penápolis, SP

    Esse é o seu site já?
    Abs

    terça-feira, 13 de março de 2012 14:40
  • Bom dia murilomlb,

    Tanta setar o globalization no seu arquivo de web.config e veja se resolve o problema

    <configuration>
        <system.web>
           <globalization culture="pt-BR" uiCulture="pt-BR" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8" />
        </system.web>
    </configuration>

    espero ter ajudado

    Abraços

    terça-feira, 13 de março de 2012 14:43
  • Uma outra opção que você tem é de usar os codigos html para fazer os acentos como por exemplo a letra ã, ela pode ser representada colocando o codigo html &atilde;

    Caso não queira digitar os codigos html você pode usar o proprio asp.net para fazer isto assim:

    //Para criar
    Session.Add("cidade", Server.HtmlEncode("Jaú"));
    
    //Para capturar
    string cidade = Server.HtmlDecode(Session["cidade"]);

    para saber mais sobre os caracteres especiais em html segue o link:

    http://www.ime.usp.br/~glauber/html/acentos.htm

    Espero ter ajudado,

    Abraços

    • Marcado como Resposta Murilo Bom terça-feira, 13 de março de 2012 17:31
    terça-feira, 13 de março de 2012 16:24
  • sim, esse ja é meu site.
    terça-feira, 13 de março de 2012 16:41