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, 0 ,xmlbuff, -1, NULL , 0);
wchar_t* wstr = new wchar_t[cbwchars];
MultiByteToWideChar( CP_UTF8 , 0 , xmlbuff, -1, wstr, cbwchars);
...
delete[] wstr; 



La franja horaria es GMT +2. Ahora son las 04:28:16.

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