eliminar caracteres especiais

Fórum sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (NFe, NFCe, NFSe, SPEED, Projeto ACBr, TEF, ECD, EFD, etc.)

Moderador: Moderadores

dbdc5554
Usuário Nível 3
Usuário Nível 3
Mensagens: 149
Registrado em: 03 Dez 2012 08:49
Localização: uberlandia-MG

eliminar caracteres especiais

Mensagem por dbdc5554 »

BOm dia

alguêm teria uma função para trocar caracteres INVÁLIDOS na NFE e nfe-Consumidor ?
Minha rotina troca alguns caracteres inválidos pelo correto

letraori := "µÖàé ‚¡¢£Ç奯䤷…¶Òâ×ꃈŒ“–€‡/=|¦§õïüûý"
letrades := "AEIOUaeiouAONaonAaAEOIUaeiouCc 3 12"

+ esta aparecendo MUITOS caracteres inválidos NOVOS rs.


ate pensei em apos fazer isso verificar em um vetor de caracteres validos se esta la caso contrario trocar por espaço

+ ta complicado

desde ja agradeço

PAiva
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

eliminar caracteres especiais

Mensagem por Jairo Maia »

Na verdade é que o leiaute da NF-e e NFC-e é em UTF8. Então ao fazer a leitura ocorre esse problema. Você pode ao carregar o XML, usar a função Hb_UTF8ToStr( cXML ), então pode usar sua função normalmente.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
dbdc5554
Usuário Nível 3
Usuário Nível 3
Mensagens: 149
Registrado em: 03 Dez 2012 08:49
Localização: uberlandia-MG

eliminar caracteres especiais

Mensagem por dbdc5554 »

Jairo, Obrigado pela atenção

Não entendi sua resposta ou não me expliquei direito.

os cliente cadastram produtos tipo:

M³ ou usam caracteres como ¹ ³ ↓ ² § ç ☻ ┬ etc

queria uma função que trocasse os caracteres inválidos por um VALIDO

tipo: M³ ficaria M3
se for muito difícil trocasse os inválidos por ESPAÇO

PAiva
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

eliminar caracteres especiais

Mensagem por rochinha »

Amiguinhos,

dbdc5554
Duas dicas:

- Primeira monte uma tabela de medidas(no SEFAZ-downloads você encontra a lista) e coloque para que o usuário ESCOLHA ao invés de digitar para não te atrapalhar.
- Segunda monte um while que leia a string contendo o seu conteúdo. Leia caractere por caractere, critique se o mesmo faz parte do a..z, A..Z, 0..9, se fizer grave numa nova string e vá montando a nova string. Use-a.

Ao invés de separar a sujeira do arroz, você estará separando o arroz(bom) da sujeira. Já que a sujeira nem sempre mostra o caractere para você montar a string de limpeza.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder