I'm attempting to display some text in my program using (say) Windows GDI and some of the unicode characters are displayed as question marks? What is up?
See also: What does it mean when my text is displayed as boxes?
I'm attempting to display some text in my program using (say) Windows GDI and some of the unicode characters are displayed as question marks? What is up?
See also: What does it mean when my text is displayed as boxes?
Basically you have corrupted the text. You are taking Unicode text in one encoding and then have converted it to another encoding without checking that target encoding includes all of the characters in the source text. Having done so you have got a bunch of gibberish.
Ways to do this include:
It means your Unicode text is getting converted to ANSI text somewhere. Since Unicode characters outside of Latin-1 can't be converted to ANSI, they are converted to question marks. Make sure that your program is compiled with Unicode support on (i.e. the preprocessor symbols UNICODE and _UNICODE are #defined by your project), so that you're always calling the proper Unicode versions of the various Windows functions.
In Windows there are 2 common display problems that occur when trying to display Unicode characters:
text sometimes appears as question marks
text sometimes appears as boxes