我试图在我的程序中使用(说)Windows GDI显示一些文本,并且一些unicode字符显示为问号?怎么了?当我的文字显示为问号时,这是什么意思?
参见:What does it mean when my text is displayed as boxes?
我试图在我的程序中使用(说)Windows GDI显示一些文本,并且一些unicode字符显示为问号?怎么了?当我的文字显示为问号时,这是什么意思?
参见:What does it mean when my text is displayed as boxes?
在Windows有试图显示Unicode字符时发生的2个共同显示问题:
文本有时会出现为问号
文本有时会出现为方框
基本上已损坏的文本。您将采用一种编码的Unicode文本,然后将其转换为另一种编码,而不检查目标编码是否包含源文本中的所有字符。这样做后,你有一堆乱码。
方法可以做到这包括:
这意味着您的Unicode文本正在转换为ANSI文本的某处。由于Latin-1以外的Unicode字符无法转换为ANSI,因此它们会转换为问号。确保你的程序是用Unicode支持编译的(也就是说,预处理器符号UNICODE和_UNICODE是你的项目定义的),所以你总是调用适当的Unicode版本的各种Windows函数。