do przekodowania tekstów np z iso-8859-2 na utf-8 w PHP wykorzystuje się bibliotekę iconv w necie poszukałem bibliotekę iconv.dll pod windows. Biblioteka iconv.lib dołączana była od VC wiec skonwertowałem programem coff2omf.exe i program da się skompilować, ale nie da się uruchomić funkcji przekodowania z powodu błędu :
"First chance exception at $7C812AFB. Exception class EAccessViolation with message 'Access violation at address 1000E2F8 in module 'ICONV.DLL'. Read of address FFFFFFFF'. Process ProjectIconv.exe (2200)"
Nie wiem czy jest to błąd spowodowany w samej bibliotece DLL czy powstał na skutek złego przekazania parametrów tych wskaźników do wskaźnika char ** do funkcji z biblioteki DLL
- Kod: Zaznacz cały
#define MYBUFSZ 1024
void __fastcall TForm1::Button1Click(TObject *Sender)
{
iconv_t ic;
ic = iconv_open("8859-2", "UTF-8");
char str_in[MYBUFSZ+1];
char str_out[MYBUFSZ+1];
const char *ptr_in = str_in;
char *ptr_out = str_out;
size_t ilen,olen;
strcpy(str_in, "¶±ę漡żĘ¦Ć");
ilen = strlen(str_in) + 1;
olen = sizeof(str_out);
// Tak wyglada deklaracja funkcji w iconv.h
//size_t iconv(ic, char **, size_t *, char **, size_t *);
iconv(ic, &ptr_in, &ilen, &ptr_out, &olen); // <<<<<<<<< TUTAJ WYWALA BLAD
iconv_close(ic);
}
Może ktoś z Was korzysta z iconv i podzieli się informacja jak to zrobić w BCB.
----
Tutaj jest też biblitela DLL i LIB do pobrania http://www.zlatkovic.com/pub/libxml/ico ... .win32.zip
Pozdrawiam





