tobexy Postado 12 Janeiro, 2017 Postado 12 Janeiro, 2017 Bom dia pessoal! Estamos nos deparando com um problema na geração do XML para NFe com acentuação, o método "ACBrNFe.NotasFiscais.GravarXML()" grava o arquivo na pasta teoricamente sem problema, porém ao fazer um "TStringList.LoadFromFile" pelo Delphi XE2 os caracteres com acentos vem com problema, exemplo, o caracter í vem Ã-. O mesmo acontece quando damos um "ShowMessage()" usando o método "ACBrNFe.NotasFiscais.Items[0].XML". Ou seja, não é uma situação que acontece apenas no debug do Delphi. Vimos no tópico Link que foi falado sobre isso porém para resolver outra coisa, mas assim como lá, aqui a situação acontece na unit ACBrUtil, método "NativeStringToUTF8" é chamado o "SetCodePage(RBS, 0, False)" e nesse momento que é alterado. A título de curiosidade, notamos que ao abrir o XML pelo Notepad++ a formatação está em "UTF-8 (sem BOM)" se converter para "UTF-8" e salvar, o arquivo passa a carregar certo no Delphi e mostra corretamente no "ShowMessage()". Outra coisa que percebemos é que se circundar o método dessa forma "Utf8ToAnsi(ACBrNFe.NotasFiscais.Items[0].XML)" passa a retornar corretamente. Lembrando, esse problema só acontece olhando para todo o arquivo XML nos 2 métodos acima mencionados, se tentarmos pegar o resultado, por exemplo, "ACBrNFe.NotasFiscais.Items[0].nfe.cobr.dup.items[0].ndup" a situação não acontece, é retornada a palavra acentuada corretamente. Para simular no exemplo em "..\ACBr\Exemplos\ACBrDFe\ACBrNFe\Delphi", colocarmos no botão “Importar TXT/XML” dois "ShowMessage()" antes da linha 1357, conforme a imagem em anexo: ShowMessage(ACBrNFe1.NotasFiscais.Items[0].XML); ShowMessage(Utf8ToAnsi(ACBrNFe1.NotasFiscais.Items[0].XML)); E o resultado conforme descrevi estão tbm em imagem em anexo, além do arquivo XML. Nossa dúvida é, vamos ter que fazer isso, colocar Utf8ToAnsi(), em todo lugar ou existe outra forma de pegar o XML inteiro do componente acentuado corretamente? 41170111434649000137550010000903371000903371-nfe.xml
pedron Postado 9 Fevereiro, 2017 Postado 9 Fevereiro, 2017 (editado) Tenho o mesmo problema, também no XE2, última versão do ACBr, carrego um XML com acentos no componente do ACBr, chamo o método para ver o nome do primeiro item, e ele aparece carregado de caracteres estranhos. Alguém tem alguma ideia do por quê? A solução seria usar o Utf8ToAnsi como o Tobexy fez? Editado 9 Fevereiro, 2017 por pedron
William teles muniz de lima Postado 19 Abril, 2018 Postado 19 Abril, 2018 Pessoal tiveram alguma solução para esses casos de acentuação
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora