Windows XP 在用户配置文件名称中存在 Unicode 符号问题

Windows XP 在用户配置文件名称中存在 Unicode 符号问题

一个人给我寄了一台电脑进行维护(物理和软件清理等)。我注意到一个问题。它装有 Windows XP Pro SP2。他的名字叫 Jānis(这个拉脱维亚名字与英语中的 John 相同)。他创建了一个用户配置文件,他的文档和桌面位于 C:\Documents and Settings\Jānis。

由于我们住在俄罗斯附近,有些人懂俄语胜过英语,为了能够玩俄罗斯游戏(通常不支持 Unicode),人们通常将非 Unicode 程序的语言设置为俄语(在区域和语言设置的高级选项卡中)。

当然,这会给其他非 Unicode 程序带来一些问题,因为俄语代码页中没有这样的字母 ā。好吧,我们可以接受这一点……但我发现,即使是 Windows 本身也无法识别这个符号!

当我将程序下载到桌面并尝试启动它时,通常会弹出 Windows XP 安全窗口并询问我是否信任此文件。此弹出窗口甚至正确显示了文件的发布者信息。但现在糟糕的是: - 这个弹出窗口中的文件路径是错误的!它显示 C:\Documents and Settings\Janis\Desktop(注意 - ā 已变成 a)并且当我单击运行来启动文件时,出现错误:“系统找不到指定的文件”。

当代码页不匹配时,Windows 无法从具有特定语言字符的文件夹启动文件,这似乎很奇怪,尽管 Windows 显然可以正常读取文件,因为发布者信息显示正确。

在我看来,Windows 仍有一些部分不支持 Unicode。

除了重新创建没有 Unicode 符号的用户配置文件外,还有其他方法可以解决此问题吗?也许 Service Pack 3 可以解决此问题?

答案1

是的,有一些解决方案 - 请参阅下面的链接。

Service Pack 3 没有帮助 - 甚至 Windows Vista 和 Windows 7 仍然存在同样的问题。

这是一个已知问题——德国和法国的用户也面临同样的问题,比如文件夹中原本有德语或法语重音字母(在用户将该设置更改为俄语之前)。

该设置(“非 Unicode 程序的语言”或 Windows 7 中称为“系统区域设置”)实际上意味着深层系统变化 - 系统代码页正在发生变化(MS 术语中的 ACP,Win32 API 中的 CP_ACP)。

解决方案之一 - 不要做如此大的改变,使用微软提出的解决方案 - 名为 Applocale 的免费 MS 程序(见下文)。

有关上述内容的更多信息:

1) 德语版和法语版微软 Windows 也存在类似问题:

用英语讲:http://winrus.com/full_e.htm#nonEN (俄语也一样 - 稍微详细一些 - 如果你将链接中的“_e”改为“_r”)

2)关于Applocale:

用英语讲:http://winrus.com/full_e.htm#App (俄语也一样 - 稍微详细一些 - 如果你将链接中的“_e”改为“_r”)

== PS 你可能想阅读整个关于系统代码页的网页

相关内容