ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

IdHTTP + Caracteres especiais (Resolvido)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
charlo
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 13 de Julho de 2006
Mensagens: 178

MensagemEnviada: Ter Out 09, 2012 12:41 pm    Assunto: IdHTTP + Caracteres especiais (Resolvido) Responder com Citação

Boa tarde gente.

Estou com um pequeno problema, agradeço qualquer ajuda.

Eu uso o componente Indy IdHTTP em sua última versão e estou pegando informações de um site e me deparei com o seguinte problema. As palavras acentuadas o IdHTTP sempre mostra caracteres especiais tipo:

Û, Ú, Ù, Ũ, ç, Ç, í³ etc...

Gostaria de saber se tenho que configurar o componente IdHTTP para que me mostre corretamente os caracteres acentuados. Já tentei várias configurações de Charset, ContentType, Accept e nada. Já tentei UTF-8, UTF-16, ISO-8859-1, ContentType: 'text/html', etc.

Fiz testes com outros sites e funciona normal. Vi no código html deste site que está da seguinte forma:
Código:
http-equiv="Content-Type" content="text/html; charset=UTF-8"


OBS.: Estou usando o comando get, passo pra stream e depois do stream passo a um memo.

Agradeço mais uma vez qualquer ajuda.

Charlo.


Editado pela última vez por charlo em Ter Out 09, 2012 5:51 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Ter Out 09, 2012 1:46 pm    Assunto: Responder com Citação

utilize estas funções para fazer a codificação e a decodifcação:

Código:

     UTF8Encode();
     UTF8Decode();



bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
charlo
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 13 de Julho de 2006
Mensagens: 178

MensagemEnviada: Ter Out 09, 2012 5:49 pm    Assunto: Responder com Citação

Olá johnny, muito obrigado pela ajuda.

Realmente era isso. Abaixo deixo o código com a solução se caso mais alguém tenha o mesmo problema:

Código:

var
  PostDataStream : TStringStream;
  WebPageContent : AnsiString; 
begin
  Memo1.Clear; 
  PostDataStream := TStringStream.Create('');
  try
    IdHTTP1.ConnectTimeout := 30000;
    IdHTTP1.Get(url , PostDataStream);
    WebPageContent  := PostDataStream.DataString;   
  finally
    PostDataStream.Free;
    Memo1.Lines.Text := UTF8Decode(WebPageContent);
  end;
end;


Essa foi a linha em que eu inseri a função que o johnny falou e deu certo.
Memo1.Lines.Text := UTF8Decode(WebPageContent);

OBS.: url é uma string pública.

Mais uma vez valeu pela força johnny.

Abraços,

Charlo.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Ter Out 09, 2012 8:45 pm    Assunto: Responder com Citação

Disponha amigo, estamos aqui mesmo é para ajudar.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
nathan.fsx
Novato
Novato


Registrado: Quinta-Feira, 30 de Janeiro de 2014
Mensagens: 1

MensagemEnviada: Qui Jan 30, 2014 5:12 am    Assunto: Responder com Citação

Olá amigos, hoje tive um problema parecido com este, porém estava importando um arquivo TXT para um MEMO e ocorria o mesmo problema.
Achei a solução Cool e vou deixar aqui para se alguém precisar...
Grande abraço a todos! Very Happy

Código:
Memo1.Lines.LoadFromFile('C:\arquivo.txt',TEncoding.UTF8);
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB