Fórum RAD XE10 - XMLDocument - Encoding UTF-8 #554377
24/05/2016
0
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
+ 0Post mais votado
28/06/2016
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
Gostei + 2
Mais Posts
17/06/2016
Gilson Carmo
Obrigado
Gostei + 0
17/06/2016
Mcbatalha
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
Gostei + 0
28/06/2016
Gilson Carmo
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)