说明 类似 Windows XP 的基于 Unicode 的平台可按以下方法模拟运行非 Unicode 应用程序所需的语言环境:使用通常称作“系统区域”的系统范围变量(或适用于非 Unicode 应用程序的语言)将应用程序的非 Unicode 文本数据在内部转换为 Unicode。非 Unicode 应用程序的语言应与系统区域所定义语言的脚本或类型相同。不能达到此条件将导致在应用程序的用户界面中显示乱码。
这种方法在使用上会有少许限制:
只有管理员有权设置系统区域值。 设置系统区域会要求系统重启。 每次只能设置一个系统区域。
对于在基于 Unicode (UTF-16) 的 Windows XP 上运行的非 Unicode 应用程序所引起的这些限制,AppLocale(或 Application Locale)是一个临时解决方案。AppLocale 会检测旧应用程序的语言,并为需要进行 Unicode 转换的代码页或经过 Unicode 转换而得到的代码页模拟相应的系统区域。
重要说明:
AppLocale 以在 Windows XP 中新引入的应用程序兼容技术为基础,并且只能安装在这两种操作系统上。 如果需要在给定的脚本(或语言集)中频繁使用非 Unicode 应用程序,我们强烈建议您将系统区域变量设为目标应用程序的语言,并且不使用 AppLocale。 应用程序开发人员不应将 AppLocale 视作将他们的产品迁移至 Unicode 的替代方法。现在,通过使用 Microsoft Layer for Unicode (MSLU),已经可以创建在类似 Windows 98 等非 Unicode 平台上也能部署的纯 Unicode 应用程序。
|