MSYS2:错误:命令行包含活动代码页不支持的字符 (1252)

问题描述 投票:0回答:1

CI 代码通过 Github Actions 运行,多年来一直完美运行,但在尝试通过命令行传递一些 unicode 字符时开始失败。

测试可执行文件通过 MSYS shell 运行

msys2 {0}
。 Shell 本身似乎使用 utf-8:

Lang:
en_US.UTF-8

chcp.com:
Active code page: 65001

从 shell 测试打印 unicode 字符也能正常工作:

Printing unicode 1:
✓

任何人都知道还会出现什么问题吗?鉴于它以前运行良好,现在才开始失败,这似乎是 MSYS2 更新的一些问题。

windows unicode console github-actions msys2
1个回答
0
投票

此问题的原因是在 20240727 MSYS 版本之后更改了从宽字符转换命令行参数的方式。

MSYS Github 页面上的原始回复:https://github.com/msys2/MINGW-packages/issues/22462#issuecomment-2465927832

改变行为的补丁:https://github.com/mingw-w64/mingw-w64/commit/0d42217123d3aec0341b79f6d959c76e09648a1e#diff-32a4eaf3a9253a85d560f22d0c4ff81f12df6ef69774 50bba36be2415dd425a3R148

© www.soinside.com 2019 - 2024. All rights reserved.