15 Jul 2014 11:24
15 Jul 2014 16:52
nrc=1
do while nrc<60
if asc(substr(tar,nrc,1))=0 .or. asc(substr(tar,nrc,1))=39
if empty(substr(tar,nrc))
exit
endif
?"Retirando caractere estranho no tar"
?asc(substr(tar,nrc,1))
tar=substr(tar,1,nrc-1)+substr(tar,nrc+1)
inkey(.8)
else
nrc++
endif
enddo
15 Jul 2014 18:13
16 Jul 2014 08:14
CREATE FUNCTION to_ascii(bytea, name)
RETURNS text STRICT AS 'to_ascii_encname' LANGUAGE internal;
CREATE OR REPLACE FUNCTION fnc_texto_simples(pTexto varchar)
RETURNS text AS
$$
select UPPER(to_ascii(convert_to($1,'latin1'),'latin1' ))
$$
LANGUAGE sql IMMUTABLE STRICT;
16 Jul 2014 09:46
Evaldo, creio que não seja o problema de codificação, acho que pode ser outro, pelo seguinte: Se você diz que seu problema está principalmente com os campos de pesos e medidas, Mesmo que eles não sejam Numéricos, acho que são Números tipo caracteres, e neste caso não altera nada em UTF8.evaldowl escreveu:só que estou com problemas em alguns caracteres especiais , o sql nao reconhece , caracteres de pesos e mediads por exemplo
Function Main()
Local x, cArquivoDBF := "Nome do arquivo DBF"
Private cCampo, cConteudo
Use ( cArquivoDBF ) Exclusive New
Clear Screen
While !Eof()
@ 10, 25 Say "Convertendo Registro => " + Str( RecN() )
For x=1 To FCount()
cCampo := Field( x )
If ValType( &cCampo. ) = "C"
cConteudo := Hb_StrToUTF8( &cCampo. )
Replace &cCampo. With cConteudo // salva o campo
EndIf
Next
Skip
EndDo
Return Nil