您的位置:首页 > 其它

使用USES_CONVERSION写中文至注册表变成乱码的原因

2014-09-01 15:36 148 查看
有的时候在英文版本的操作系统中,dll实现文件里面使用USES_CONVERSION,将ascii的中文字符串转为unicode类型,写入注册表,会引起乱码,原因是:

使用atlconv.h中的A2T函数导致,字符串转换使用了当前线程的默认 ANSI 代码页执行,保存注册表后显示为乱码

解决的办法是:

在dll编译选项中添加上宏_CONVERSION_DONT_USE_THREAD_LOCALE ,即可以正常显示与读取
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐