ClientDataSet e acentos

Delphi

02/10/2012

Estou com o seguinte problema.

Criei uma aplicação onde tenho um TXMLTransforProvider ligado ao meu XML e ao XTR.

Um ClientDataSet ligado ao Provider e um DataSource ligando o ClientDataSet conectado a um DBGrid.

Acontece que os registros que possuem acento aparecem com caracteres estranhos.

Meu XML já está com encoding="ISO-8859-1" e o XTR também.

Alguém tem alguma idéia de como fazer a acentuação aparecer corretamente?

Grato a todos
Luiz
Luiz Fábio

Luiz Fábio

Curtidas 0

Respostas

Alisson Santos

Alisson Santos

02/10/2012

No caso aconselho a utilizar uma função de repleace que retira acentos, pois mesmo que consiga colocar ele no xml dependenod o que for ser feito é barrado.
GOSTEI 0
Deivison Melo

Deivison Melo

02/10/2012

Recomendo que utilize uma função para remover os acentos ou mude o "encoding" para um outro que não esteja entre os encoding="ISO-8859-1" ou encoding="ISO-1251-1", que aceitam acentuação.

função abaixo:

function TiraAcentos(Texto: string): string;
var
Contar, Posicao: integer;
Acentos, TiraAcentos: string;
begin

Acentos := 'áäàãâÁÄÀÃÂéëèêÉËÈÊíïìîÍÏÌÎóöòõôÓÖÒÕÔúüùûÚÜÙÛçÇ+'; //Acrecentei um sinal de + e troque por um espaço em branco com observado na mesma função
TiraAcentos := 'aaaaaAAAAAeeeeEEEEiiiiIIIIoooooOOOOOuuuuUUUUcC ';
Result := '';

for Contar := 1 to Length(Texto) do begin

Posicao := Pos(Copy(Texto, Contar, 1), Acentos);
if Posicao = 0 then
Result := Result + Copy(Texto, Contar, 1)
else
Result := Result + Copy(TiraAcentos, Posicao, 1);
end;
end;
GOSTEI 0
Luiz Fábio

Luiz Fábio

02/10/2012

O problema é que ninguém me deixa tirar os acentos.... rsrsrs

Eu acho que deve ser alguma coisa relacionada com o Provider ou o Dataset, digo isso por que quando eu uso o XML Mapper e peço pra testar o XTR ele abre um grid com os dados do XML e com acentos corretos, ou seja, existe alguma forma de fazer ou o XML Mapper não foi feito com Delphi.... kkkk
GOSTEI 0
POSTAR