Gradle Node任务输出编码与直接运行Node命令不一致问题咨询
Windows下Gradle Node插件执行工具时输出乱码问题
在Windows系统中使用Gradle Node插件执行lint-staged和npm-groovy-lint工具时,命令输出与直接在Node环境中运行工具生成的输出存在差异,表格字符出现乱码。
Node环境输出
npm-groovy-lint results in linted files: ┌─────────┬───────────┬─────────────┬─────────────┬─────────────────┐ │ (index) │ Severity │ Total found │ Total fixed │ Total remaining │ ├─────────┼───────────┼─────────────┼─────────────┼─────────────────┤ │ 0 │ 'Error' │ 0 │ 0 │ 0 │ │ 1 │ 'Warning' │ 1 │ 0 │ 1 │ │ 2 │ 'Info' │ 46 │ 11 │ 35 │ └─────────┴───────────┴─────────────┴─────────────┴─────────────────┘
Gradle环境输出
npm-groovy-lint results in linted files: ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö? Γöé (index) Γöé Severity Γöé Total found Γöé Total fixed Γöé Total remaining Γöé Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ Γöé 0 Γöé 'Error' Γöé 0 Γöé 0 Γöé 0 Γöé Γöé 1 Γöé 'Warning' Γöé 1 Γöé 0 Γöé 1 Γöé Γöé 2 Γöé 'Info' Γöé 46 Γöé 11 Γöé 35 Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
已显式设置Gradle编码(org.gradle.jvmargs=-Dfile.encoding=UTF-8),输出略有变化但仍与Node输出不匹配。优先希望通过Gradle完成任务,必要时可改用Node脚本。
问题复现
通过以下简单Gradle任务可复现问题:使用Node打印表格字符,输出显示异常。
task nodeLog { exec { commandLine 'node', '-e', "console.log('┌')" } }
输出结果:
Γöî
版本信息
- Gradle wrapper: 7.2
- Java: 11.0.12_7
- Gradle Node plugin: 5.0.0
- Node: 16.20.1
- lint-staged: 13.2.3
- npm-groovy-lint: 11.1.1
内容的提问来源于stack exchange,提问作者Michael Barrett
相关产品推荐
相关产品推荐

