Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   ¿como convertir de xmlChar *xmlbuff a string unicode-utf8? (https://www.clubdelphi.com/foros/showthread.php?t=90753)

JXJ 29-08-2016 06:40:07

¿como convertir de xmlChar *xmlbuff a string unicode-utf8?
 
hola

¿como convertir de xmlChar *xmlbuff a string utf8?

si tengo estas variables y quiero tener el uso de utf8 con c++Builder XE7
segun entiendo , las string son unicode que tambien es compatible con UTF8

si tengo xmlChar al convertir a Unicode, con un cast se pierden los caracteres unicode, y los
que me interesan son los acentuados y con tildes, dieresis

Código:


    xmlChar *xmlbuff;
    int buffersize;

// hago el cast
 CadenaUnicode  = (char *) xmlbuff;

esto por que el string lo cargo a un memo y me muestra con errores los acentos

me muestra
 EXHIBICIÓN

en lugar de

EXHIBICIÓN

Gracias por su sabiduria

exmachina 26-09-2016 20:33:35

Segun he visto en internet el tipo xmlChar es unsigned char y representa a una cadena UTF-8, por lo tanto deberia funcionar bien de la siguiente forma:

Código PHP:

UnicodeString us UTF8ToString(reinterpret_cast<char*>(xmlbuff)); 

o asi
Código PHP:

int cbwchars =  MultiByteToWideChar(CP_UTF8,xmlbuff, -1NULL 0);
wchar_twstr = new wchar_t[cbwchars];
MultiByteToWideCharCP_UTF8 xmlbuff, -1wstrcbwchars);
...
delete[] wstr



La franja horaria es GMT +2. Ahora son las 05:01:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi