首页 新闻 会员 周边

求教VC++如何处理除英语外的外文字符串?

0
悬赏园豆:40 [已解决问题] 解决于 2015-11-30 19:15

环境:VS2012

目的:一个编辑框,一个按钮。按下按钮后,要把编辑框里的内容放到剪切板。

实现:按下按钮,UpdateData(), SetClipboard(m_Text)。

问题:在编辑框内为韩文的时候剪切板就出现了乱码。调试发现UpdateData()后,m_Text为原韩文,放到剪切板里就出错了。

求大神解答啊?

Show、的主页 Show、 | 初学一级 | 园豆:5
提问于:2015-11-30 18:53
< >
分享
最佳答案
0

剪切板是系统的吧?所以我猜想是系统的默认编码造成的乱码。m_Text是什么编码?和系统的对照一下看看。

可以使用这个试试:

HANDLE SetClipboardData(UINT uFormat,HANDLE hMem);

把指定数据按照指定格式放入剪切板中,window API函数。

uFormat = CF_UNICODETEXT;

附上链接:SetClipboardData

收获园豆:40
[0] | 小虾三级 |园豆:1257 | 2015-11-30 18:58

是系统的,编译器编码是UNICODE。

Show、 | 园豆:5 (初学一级) | 2015-11-30 19:09

@Show、: 大多数IDE环境都是Unicode,而系统的却是其他的编码。导致输出的结果会产生乱码。要么你尝试这把系统的编码修改一下。

[0] | 园豆:1257 (小虾三级) | 2015-11-30 19:11

@Qlover: 可以了,多谢!

Show、 | 园豆:5 (初学一级) | 2015-11-30 19:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册