Página 1 de 1

Ajuda sobre acentuação

Enviado: 28 Nov 2007 09:01
por joaoalpande
Bom dia , ja li varias dicas mas não consigui fazer , eu crio um arquivo XML em clipper/DOs so que depois os caracteres de acentuação que o usuario usou (por ex: ª º Ç ) não sao reconhecidos nos programa do windows , preciso de uma solução rapida para este problema , se alguem puder ajudar???

Msn : wavetronic@net.novis.pt

Um abraço

João Alpande

Enviado: 28 Nov 2007 10:52
por clodoaldomonteiro
João!
No caso dos acentos vc tem que usar uma função para fazer a substituição dos caracteres acentuados.

Código: Selecionar todos

FUNC MACENTO(ARG1)
   Local Local1:=  "aeiouaeiouaeiouaeiouaoAEIOUAEIOUAEIOUAEIOUAOcC ", ;
    Local2:=  " ‚¡¢£…Š

Enviado: 28 Nov 2007 10:57
por Maligno
Você precisa converter seus caracteres de OEM para ANSI, que é o padrão que o Windows mostra corretamente. Mas isso é fácil. Escreva todos os acentos em DOS e abra num editor de textos for Windows. Depois (no modo hexa, preferencialmente), veja quais são as equivalências em hexa e faça um conversor.

Enviado: 28 Nov 2007 10:58
por joaoalpande
Bom dia , obrigado mas eu queria a equivalençia em windows e não so retirar os acentos , vi uma funçao num topico OemtoAnsi() ja pedi ao autor por e-mail , mas se alguem tiver ela , gostaria de saber se podiam enviar e se funciona bem


Msn : wavetronic@net.novis.pt

Um abraço

João Alpande

Enviado: 28 Nov 2007 11:01
por Maligno
Realmente seria algo do tipo OEMtoANSI(). Considerando o nome, essa função, se converter corretamente, deve ajudá-lo. Caso contrário, você mesmo pode fazer isso. É fácil, como comentei antes.

Enviado: 28 Nov 2007 11:02
por clodoaldomonteiro
João!
Na variável local1 é só escrever as letras acentuadas equivalentes aos aplicativos em windows, ou seja vc vai substituir o caractere "a" por "á".

Quer que faça a função novamente, ou vc consegue alterá-la?

Enviado: 28 Nov 2007 11:08
por Maligno
Pra ajudar nessa conversão, tenho uma função bem rápida (feita em C) que também facilita mais o código. Com ela a função ficaria:

STRanslate(cSource,cTable1,cTable2)

onde cSource é a string fonte, cTable1 contém os caracteres que devem ser pesquisados e cTable2 contém os caracteres equivalentes.

Link pra baixar: http://pub.buzinello.com/xbase/clipper/ ... lation.zip

Enviado: 28 Nov 2007 11:10
por joaoalpande
Obrigado pelas dicas , a funçao para converter sei fazer , a minha duvida e saber todos os caracteres a serem convertidos , não são só as letras com acentos , mas vou fazer manualmente e usar um editor windows para converter para OEM to ANSI


Msn : wavetronic@net.novis.pt

Um abraço

João

Enviado: 28 Nov 2007 11:12
por joaoalpande
Maligno e essa mesma que estou a usar , tenho de ver quais os caracteres que tem de ser convertidos.


Obrigado a todos

João Alpande

Enviado: 28 Nov 2007 11:24
por clodoaldomonteiro

Código: Selecionar todos

FUNC MACENTO(ARG1) 
   Local Local1:=  "áéíóúàèìòùäëïöüâêîôûãõÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛÃÕçÇ ", ; 
    Local2:=         " ‚¡¢£…Š

Enviado: 28 Nov 2007 14:48
por joaoalpande
Boa tarde,

Com as dicas consigui resolver o problema quase na totalidade, mas tem duas duvidas por exemplo:

crio um arquivo XML

- no campo do Nome de Cliente é "JOAQUIM & FILHOS" este caracter & da erro ao abrir no editor de xml ou no internet explorer , testei num software em VISUAL BASIC e verifico que ele no lugar do & coloca & não entendo porque da erro???

- o mesmo problema acontece com o < e o > que em VB mete < e &rt;

Alguem pode dar uma dica??

Msn : wavetronic@net.novis.pt

um abraço

João Alpande

Enviado: 28 Nov 2007 15:17
por Maligno
no lugar do & coloca & não entendo porque da erro???
Por quê em XML o sinal & é prefixo de comando. Se quiser utilizá-lo experimente colocar &&.

Enviado: 28 Nov 2007 15:25
por joaoalpande
Maligno, mas um sistema em VB no nome meto o & e ao criar o XML fica bem , verifico que mete & o mesmo acontece com o < e o > , vou ter de converter estes caracteres para outro???

Já agora como validar um XML?

cumprimentos

João

Enviado: 28 Nov 2007 16:12
por Maligno
Eu não sei muita coisa sobre XML. Nunca precisei usar isso.
Há na internet, em alguns sites (Google pra quê te quero!), tabelas de conversão desses caracteres. Com uma dessas em mãos (não é difícil encontrar - aqui tem uma), faça um conversor. Assim, troque & por &amp, e assim por diante.

Enviado: 29 Nov 2007 07:44
por joaoalpande
Obrigado por ajudar.


Um abraço a todos

João Alpande