Sublime Text 在构建输出中显示 "NUL" 个字符

Sublime Text shows "NUL" characters in build output

我在 Sublime Text 3 中编写了一个简单的红色 "Hello world" 程序:

Red []

print "Hello world!"

我还创建了一个我试图用来编译和 运行 程序的构建系统,其中 G:\Red Programming Language\redlang.exe 是我从 [= 下载的 Red 编程语言编译器30=] link here:

{
    "shell_cmd": "\"G:\Red Programming Language\redlang\" \"$file\""
}

问题是每当我在保存的程序上使用我的构建系统时,构建输出的每个字符之间都会出现一个奇怪的 NUL 字符:

我安装的任何其他构建系统都不会发生这种情况。如果我从命令提示符 运行 the redlang.exe 输出看起来很好,所以这可能是我的 Sublime Text 设置的问题;我正在使用 Sublime Text Build 3083 和 Windows 10。我怎样才能摆脱那些 NUL 个字符?

Windows 上的 Red 程序输出使用本机 UTF-16LE 编码,这是您看到 NUL 字符的原因,因为 Sublime 的输出捕获默认为 UTF-8。您需要使用 encoding 命令在您的构建系统中更改它,如 Sublime 构建系统 documentation.

中所述

所以你可以尝试这样的事情:

{
    "shell_cmd": "\"G:\Red Programming Language\redlang\" \"$file\"",
    "encoding": "UTF-16LE"
}

查看支持的编码列表here。希望这有帮助。