【发布时间】:2018-09-12 11:24:49
【问题描述】:
我们的程序在某些机器上运行而不在其他机器上运行。我们发现问题出在我们使用 ANSI 版本的 GetTempPath;在非英语操作系统中失败。到现在为止还挺好。但是,我们的代码在“某些”计算机上运行,并且测试应用程序的结果不一致。如果 TEMP 路径有非英文字符,比如 TEMP=E:/टेम्प,那么在某些计算机上 GetTempPath 返回 E:/???然后稍后尝试打开该文件夹上的文件失败。没错。易于修复 - 使用 API 的 unicode 版本。
但在其他一些计算机上,它会返回正确的编码,以便最终文件打开成功。
我检查了这些计算机上的 ACP - 它是 1252。1252 如何能够编码非英文字符?
这已成为讨论的话题 - 我们的计划一直是如何运作的?这样的错误应该早就报告了等等。
【问题讨论】:
标签: unicode globalization codepages