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

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

为什么记事本这个小东东还能正常显示呢??系统自带的RichEditBox控件怎么就显示不了呢?如果通过代码实现来使用TextOut或DrawText函数来显示这些藏文字符,我该如何做呢?最好能给个示例代码,我郁闷死了~~~
...全文
134 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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的字母。

不知道对不对。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧