January 28, 2013 Invalid conversion from utf8 string when it is in variable | ||||
---|---|---|---|---|
| ||||
The effect here is that the message text is correct in greek letters but message title is all empty boxes, sometimes with other texts there are chinese chars. string msg= "ένα μήνυμα"; MessageBoxW(null, "ένα μήνυμα", cast(wchar*)msg.toStringz, MB_ICONERROR); http://s9.postimage.org/66e84i80r/msgbox.png |
January 28, 2013 Re: Invalid conversion from utf8 string when it is in variable | ||||
---|---|---|---|---|
| ||||
Posted in reply to rsk82 | On Monday, 28 January 2013 at 11:17:02 UTC, rsk82 wrote:
> The effect here is that the message text is correct in greek letters but message title is all empty boxes, sometimes with other texts there are chinese chars.
>
> string msg= "ένα μήνυμα";
> MessageBoxW(null, "ένα μήνυμα", cast(wchar*)msg.toStringz, MB_ICONERROR);
>
> http://s9.postimage.org/66e84i80r/msgbox.png
You're casting UTF-8 (char*) to UTF-16 (wchar*). Instead, use the conversions in std.utf - ie, msg.toUTF16z().
|
Copyright © 1999-2021 by the D Language Foundation