none
Ajuda e Dúvida! Página não reconhece caracteres especiais. RRS feed

  • Pergunta

  • Bom dia a todos!

    Estou com o seguinte problema:

    Tenho uma página de pesquisa para gerar um certo relatório e essa página chama uma outra que me permite escolher o tipo de relatório.

    Esses criterio de filtro eu passo pela Session:

    Session.Add("FiltroRelatorio"FiltroRelatorio)

    Session("FiltroRelatorioSimples") = "true"


    Os criterio de filtro eu recupero na página de escolha do tipo de relatorio:

    Dim filtro As New FiltroRelatorio

    filtro = DirectCast(Session("FiltroRelatorio"), FiltroRelatorio)


    O problema: 

    Na página que eu recupero os dados as palavras com caracteres especiais não estão sendo reconhecidas corretamente: Gerência Café = "Ger�ncia Caf�"

    Já tentei alterar o charset nessa página enão deu certo. Será que esses dados estão sendo "perdidos" ao jogá-los e recuperá-los na Session?
    Estou sem idéias...

    Agradeço desde já!


    "Para se conseguir algo é preciso sacrificar algo de igual valor"
    quinta-feira, 26 de março de 2009 13:58

Respostas

Todas as Respostas

  • Cristiano,

    Explique um pouco melhor, as palavras que você recuperou estavam como parâmetro da session?
    Ou você usou o parâmetro para fazer uma consulta ao banco de dados ou algo do tipo?


    Abraço,

    Gabriel
    quinta-feira, 26 de março de 2009 14:56
  • Gabriel,

    Esses parametros eu recupero pela session, mas os mesmos eu tenho gravado no BD já que são criterios de filtro e no banco está correto.

    Obrigado,
    "Para se conseguir algo é preciso sacrificar algo de igual valor"
    quinta-feira, 26 de março de 2009 15:23
  • Completando...

    Já tentei alterar o charset da pagina usando o codigo:

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    Porque somente alterando o requestEncoding do web.config para iso-8859-1 a pagina ficoi normal?


    "Para se conseguir algo é preciso sacrificar algo de igual valor"
    quinta-feira, 26 de março de 2009 15:58

  • Olá Pessoal,

    Segue alguns links para ajudar a solucionar e exemplo de HtmlDecode para o acerto de caracteres especiais.

    Problemas com html encoding
    http://social.msdn.microsoft.com/forums/pt-BR/aspnetpt/thread/644e2e4a-ca09-43a2-9146-365107f7b781/

    Exemplo:

    Server.HtmlDecode

     
    iResp.Text = Server.HtmlDecode(row.Cells(1).Text.ToString) 


    ajuda com ENCODING
    http://social.msdn.microsoft.com/Forums/pt-BR/vscsharppt/thread/89bfa637-4eb3-435e-b79c-92b2a713fdb2/

    Problemas com Encoding
    http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/d05b6604-47ea-4c6d-9e33-fa07dfb88b72/


    Abraços,




    Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.
    • Marcado como Resposta cristianocsi segunda-feira, 30 de março de 2009 18:41
    quinta-feira, 26 de março de 2009 17:24
  • Magno,

    Meu web.config está asiim

    <globalization enableClientBasedCulture="false" requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="iso-8859-1" responseHeaderEncoding="utf-8" resourceProviderFactoryType="string" enableBestFitResponseEncoding="true" culture="pt-BR" uiCulture="pt-BR" />

    Quando alterei o requestEncoding para "iso-8859-1" a pagina reconheceu os caracteres especiais.

    Só mais uma duvida. Pelo que eu entendi o utf-8 não aceita acentos, achop que li em um dos posts isso. O melhor no meu caso seguindo as configs acima, é usar o requestEncoding  como iso-8859-1 ?


    "Para se conseguir algo é preciso sacrificar algo de igual valor"
    quinta-feira, 26 de março de 2009 18:09


  • Olá cristianocsi,

    Então este encoding: "ISO-8859-1" consegue reconhecer caracteres especiais.


    Conseguiu resolver seu problema nessa implementação? Se resolveu marque como resposta/util o post que lhe ajudou.


    Aguardo sua resposta.


    Abraços,





    Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.
    domingo, 29 de março de 2009 18:19
  • Olá Magno,

    Realmente o seu ultimo post ajudou muito. A pesquisa valeu a pena.
    Além no Enconding constatei que o .NET ao abrir uma janela "modal" todas as referencias de usuarios era permidas, e devido a isso também pedia o login de um usuário já logado.

    Problema resolvido, valeu mesmo a ajuda!

    Abraços.
    "Para se conseguir algo é preciso sacrificar algo de igual valor"
    segunda-feira, 30 de março de 2009 18:44