客户的程序是在MCGS组态软件下编写完成的,但是在xpe环境下打开窗体部分是乱码 有???这样,开始分析可能是缺失字体,把完整xp下的字体拷贝过去,问题没有解决,更改了字体注册的一些注册,发现好多字体成为[] [] 发现这样才是缺失字体,(因为我改了宋体的名字),如果字体没有,系统可以用宋体替换的,只是看起来怪怪的,这个不在多说。
网上很多人说用apploc.msi来解决非Unicode程序乱码的问题,我尝试了下,需要在“区域和语言设置”中 高级,选成英语(美国),选完之后重启,用apploc 把程序选成进去,发现有时候不能运行 有时候可以运行,乱码问题也解决了,但是又带来了新的[],而且组态软件的程序需要在MCGS运行环境下 拖进去才可以,这样没办法实际运用,
这会尝试把高级 选项中的英语(美国)改成为中国(中文),问题出现了,提示我不能更改 请和管理员联系,这个就奇怪了,管理员账号不能操作,只好救助百度了
修改注册表
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"SimSun"=hex(7):67,00,75,00,6c,00,69,00,6d,00,2e,00,74,00,74,00,63,00,2c,00,67,\
00,75,00,6c,00,69,00,6d,00,00,00,4d,00,53,00,47,00,4f,00,54,00,48,00,49,00,\
43,00,2e,00,54,00,54,00,43,00,2c,00,4d,00,53,00,20,00,55,00,49,00,20,00,47,\
00,6f,00,74,00,68,00,69,00,63,00,00,00,6d,00,69,00,6e,00,67,00,6c,00,69,00,\
75,00,2e,00,74,00,74,00,63,00,2c,00,50,00,4d,00,69,00,6e,00,67,00,4c,00,69,\
00,55,00,00,00,00,00
保存为3.reg 导入后重启,再在“区域和语言设置”中 高级,选成中国(中文),这个时候提示是否替换原来的字体,这个时候要注意,然系统自己安装一下,也就是浏览一张xp安装光盘目录下的I386,它自己替换完成后,重启,最后运行软件正常了,
总结,MCGS程序在编写的时候没有完全按照unicode标准写,导致窗体部分乱码,可能是大部分产品只在国内销售有关系,也能看得出是多个程序员合作的产物,用这个变通的办法实现。附三张解决的图片
在最后要注意下,FP2007开发出来的要用SP2的光盘来替换。WES2009开发出来的要用SP3的光盘来替换,如果版本错误 效果还是出不来
评论