RAD XE10 - XMLDocument - Encoding UTF-8
24/05/2016
0
Olá Amigos,
Estou precisando de uma ajudinha.
Possuo 2 aplicação desenvolvida no RAD XE2. Uma tem como objeto a digitação de dados que serão gravados em um arquivo XML e a outra, responsável por ler, validar e importar o XML gerado para o Banco de Dados.
Resolvi testar o Rad XE10 Seatle e recompilei as aplicações. Quase tudo funciona, mas na hora de importar os dados a versão compilada no XE10 não reconhece o encoding (UTF-8).
Se eu exportar pela versão do XE10 e importar pela versão compilada no XE2 funciona normalmente.
Para importa e gerar os arquivo XML eu utilizei o XML Mapper para criar um arquivo de configuração (xtr). Quando testo a importação dos dados do XML dentro do XML Mapper, ele me exibe os carcteres corretamente (ã, ç, etc).
Para importação de dados utilizo um XMLTransformProvider ("ligado" ao arquivo de configuração xtr) , e o XMLTransformProvider é "ligado" a um clientdataset onde os dados são carregados. Acho que é neste ponto que o problema ocorre, pois quando visualizo os dados do clientdataset, eles aparecem incorretos (os carates especiais não são reconhecidos).
Se alguém puder dar uma dica, fico grato.
Estou precisando de uma ajudinha.
Possuo 2 aplicação desenvolvida no RAD XE2. Uma tem como objeto a digitação de dados que serão gravados em um arquivo XML e a outra, responsável por ler, validar e importar o XML gerado para o Banco de Dados.
Resolvi testar o Rad XE10 Seatle e recompilei as aplicações. Quase tudo funciona, mas na hora de importar os dados a versão compilada no XE10 não reconhece o encoding (UTF-8).
Se eu exportar pela versão do XE10 e importar pela versão compilada no XE2 funciona normalmente.
Para importa e gerar os arquivo XML eu utilizei o XML Mapper para criar um arquivo de configuração (xtr). Quando testo a importação dos dados do XML dentro do XML Mapper, ele me exibe os carcteres corretamente (ã, ç, etc).
Para importação de dados utilizo um XMLTransformProvider ("ligado" ao arquivo de configuração xtr) , e o XMLTransformProvider é "ligado" a um clientdataset onde os dados são carregados. Acho que é neste ponto que o problema ocorre, pois quando visualizo os dados do clientdataset, eles aparecem incorretos (os carates especiais não são reconhecidos).
Se alguém puder dar uma dica, fico grato.
Mcbatalha
Curtir tópico
+ 0
Responder
Post mais votado
28/06/2016
Olá Gilson,
com ajuda de um colaborador do stackoverflow, criei, momentaneamente, a rotina abaixo para resolver a questão até que eu tenha tempo de pesquisar melhor uma solução definitiva.
Se vc ainda não resolveu, ela pode te ajudar.
Espero ter ajudado.
com ajuda de um colaborador do stackoverflow, criei, momentaneamente, a rotina abaixo para resolver a questão até que eu tenha tempo de pesquisar melhor uma solução definitiva.
Se vc ainda não resolveu, ela pode te ajudar.
procedure TFrm_Principal.Tratar_Campos_Com_UTF8(var Data_Set : TClientDataSet); var i:integer; f:TField; s : string; begin Data_Set.First; while not Data_Set.eof do begin Data_Set.Edit; for i:=0 to Data_Set.fields.count-1 do begin if (Data_Set.fields[i] is TStringField) or (Data_Set.fields[i] is TMemoField) then begin f:= Data_Set.fields[i]; s:= Utf8ToString(f.AsString); f.asstring := s; end; end; Data_Set.Post; Data_Set.Next; end; Data_Set.First; end;
Espero ter ajudado.
Mcbatalha
Responder
Mais Posts
17/06/2016
Gilson Carmo
Olá Meu amigo, estou com o mesmo problema que você, voce conseguiu encontrar solução para isso?
Obrigado
Obrigado
Responder
17/06/2016
Mcbatalha
Nada, ninguém respondeu.
Estou "escrevendo" o código para ler o XML na "unha"
Acho que o problema esta no CDTS, pois qdo testo a leitura em projeto (mostro o conteúdo em um grid), vem certinho.
Se achar algo, não esquece de postar aki
Estou "escrevendo" o código para ler o XML na "unha"
Acho que o problema esta no CDTS, pois qdo testo a leitura em projeto (mostro o conteúdo em um grid), vem certinho.
Se achar algo, não esquece de postar aki
Responder
Clique aqui para fazer login e interagir na Comunidade :)