问题是,在非英文版本的 XP 代码页面上, 用于控制台和吉字应用程序的 XP 代码页面有所不同, 例如,如果我在波兰版本的 XP 代码页面上写在控制台:
echo zażółć gęślą jaźń > somefile.txt
该文件的内容是:
zaľ˘† g©lĄ ja«ä
如果将它放入 cmd 文件, 就不会发生这种情况。 这就是这个带擦亮字母的文字。 但如果我创建了一个文件或目录, 名称为非英文字符, 那么不管它从 cmd 或从 cmd 手指 运行, 效果总是胡言乱语 。
因此,我的问题是,如何获得其他窗口运行的第二个代码页面。 在我看来,这个CP是 1250 - 但如何从 c++ 获得这个数字?
getConsoleCP ()
和 getConsoleOutputCP ()
都返回 852 (正确) 和 GetTread Lolige ()
给出了 1045 。
如果我尝试 chcp 1045
它会给出“错误的代码页面 ” 。