Página 1 de 1
ANSI to UTF-8
Enviado: 18 Jul 2018 11:34
por clodoaldomonteiro
Boas amigos.
Tenho um projeto em xHarbour versão 1.00 e preciso converter String ANSI para UTF-8.
Algum dos amigos poderia me ajudar com uma rotina em C, conforme exemplo abaixo:
Código: Selecionar todos
#include "hbapi.h"
HB_FUNC( STR2UTF8 )
}
const char * psz;
void * hStr = hb_parstr_utf8( 1, &psz, NULL );
hb_retc( psz );
hb_strfree( hStr );
}
Esta de cima não funciona, pois é para xHarbour 1.2.3 e tem que incluir o arquivo hbapistr.h.
Desde já agradeço a ajuda.
ANSI to UTF-8
Enviado: 18 Jul 2018 15:09
por rubens
Boa tarde...
No harbour tem
hb_StrToUTF8()
já viu se no xHarbour não tem ?
ANSI to UTF-8
Enviado: 18 Jul 2018 16:32
por Kapiaba
Código: Selecionar todos
UTF8
request HB_CODEPAGE_UTF8
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=20561&p=109474&hilit=utf8#p109474
No xHarbour 1.1.0 foi criada a função para converter texto puro para UTF8:
HB_StrToUTF8( cStr ) e HB_UTF8ToStr( cUtf8 )
Exemplo:
REQUEST HB_CODEPAGE_PTISO
REQUEST HB_CODEPAGE_PT850
FUNCTION Acentuacao()
local cStr, cAsc, cUtf8
HB_SETCODEPAGE( "PT850" )
cStr := "Isto é um teste de conversão."
cUtf8 := hb_strToUTF8( cStr )
cAsc := hb_UTF8ToStr( cUtf8 )
? cStr
? cUtf8
? cAsc
RETURN NIL
ANSI to UTF-8
Enviado: 30 Jun 2024 09:31
por clodoaldomonteiro
Depois de muito tempo, voltando para agradecer a ajuda e contribuir um pouco mais.
Fiz a função abaixo, em xHarbour (versão de 2024 xHarbour.org), para converter um arquivo de qualquer CodPage em UTF8.
Mesmo o tópico falando de ANSI para UTF8, não importa a CodePge que vc esteja, OEM ou ANSI, a função hb_strToUTF8() vai ajustar os caracteres acentuados de qualquer um para UTF8.
Código: Selecionar todos
#include "fileio.ch"
Function File2Utf8(cFileOrigem, cFileDestino)
Local r := .t., mString, mHandle, mUtf8
mString := MemoRead( cFileOrigem )
mUtf8 := hb_strToUTF8( mString )
MHANDLE := FCreate(cFileDestino, FC_NORMAL )
FWrite(MHANDLE, mUtf8)
FClose(MHANDLE)
Return r
Podendo vcs ajustarem, colocando avisos e tudo mais.
Abraços.