Windows程序员都来看看吧!打开繁体系统中简体字目录中的文件的问题!

华时纳 2011-11-23 08:43:36
工程描述:VS2005工程,字符集为UNICODE,在简体中文操作系统中编译。
代码描述:其中封装了一个MFC与flash通信的类,该类中有这样一段代码
void LoadMovie(long layer, LPCTSTR url)
{
static BYTE parms[] = VTS_I4 VTS_BSTR ;
InvokeHelper(0x8e, DISPATCH_METHOD, VT_EMPTY, NULL, parms, layer, url);
}

作用是加载flash文件。
现象描述:
1、在简体中文系统中能够正常加载播放flash。
2、在繁体中文系统中,有2个目录,一个目录是名为“本機”(繁体字),另外一个目录名为“欢乐娱乐”(简体字),结果繁体字目录中的flash能够正常加载,而简体字目录中的flash不能正常加载。这二个目录中的文件通过CreateFile函数都能打开。

问题:
1、出现上述现象的原因?
2、如何解决这个问题?
3、求原理!

...全文
56 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
一丝晨光 2012-02-18
1、出现上述现象的原因?

繁体系统可能不包含简体文本的编码和字体,导致出现乱码;
但是简体系统一般都包含了繁体系统的编码和字体,所以不会出现乱码;
因为用CreateFile都正常,那么出现打开简体中文目录出错的原因就在,LoadMovie很可能出错了,
它很可能仅仅支持了本地默认系统编码

2、如何解决这个问题?
可以在控制面板的区域语言设置中,设置非Unicode字符使用的语言改为PRC,让其对简体中文和繁体中文
都正确地支持,地区也设置成PRC

3、求原理!
原因在于简体系统和繁体系统的默认编码都不是Unicode,繁体系统对简体系统默认情况下不兼容导致的

LZ参考:
http://blog.sina.com.cn/s/blog_44cb3d3d0100fa4a.html


回复
相关推荐
发帖
其它技术问题
创建于2007-09-28

3849

社区成员

C/C++ 其它技术问题
申请成为版主
帖子事件
创建了帖子
2011-11-23 08:43
社区公告
暂无公告