关于Unicode字符集的问题。。。。。。郁闷中。。能想到的都想过了~~~

taoyi 2005-05-27 09:17:21
我有一个Unicode编码的藏文文本文件,,需要在程序中进行显示,但是我发现我所使用的系统代的那个RichEditBox控件显示不了,显示出来的全都是乱码,但是我发现如果用记事本程序打开,再选择GB18030字体的话,记事本这个小东东居然能认得它,显示很正常,,我再打开写字板,用同样的操作选择GB18030字体,却发现也不能正常显示,,,,

为什么记事本这个小东东还能正常显示呢??系统自带的RichEditBox控件怎么就显示不了呢?如果通过代码实现来使用TextOut或DrawText函数来显示这些藏文字符,我该如何做呢?最好能给个示例代码,我郁闷死了~~~
...全文
83 点赞 收藏 4
写回复
4 条回复
taoyi 2005年05月27日
我知道TextOut可以输出宽字符,但是输出那些藏文时却不正常,代码大概如下:

LOGFONT lf
lf.Charset = 1200 // Unicode
strcpy(lf.szFontFace,"宋体-18030");
.....
HFONT hFont = CreateFontIndirecto(&lf);
SelectObject(hdc, hFont);
TextOut(hdc, 0, 0, "\x00\x0f\x03\x0f", 4);

"\x00\x0f\x03\x0f"是两个藏文字符的编码,为了方面,直接这样写.

但是输出的是问号啊,老兄~~~

怎么解决呢??
回复 点赞
zcxx5201314 2005年05月27日
TextOut可以输出宽字符。

关键是你要把文件里的数据读到宽字符定义的变量(或数组里)

然后输出就可以了。
回复 点赞
zcxx5201314 2005年05月27日
我不认识Tibet字
回复 点赞
zcxx5201314 2005年05月27日
我也不太清楚,


为什么不加个L"\x00\x0f\x03\x0f"

试试啊!

我试了一下,用默认字体,显示一个像C 一个像T的字母。

不知道对不对。

回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7973

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告