You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell V2执行含日文的管道命令乱码,求解决方法

PowerShell V2 中日文管道到Ruby乱码的解决方法

乱码根源是PowerShell V2管道输出默认采用UTF-16LE编码,而Ruby默认读取编码和它不匹配,导致日文无法正常解析。以下是几种可行的解决办法:

  • 直接指定Ruby输入编码为UTF-16LE,转成UTF-8输出:

    echo "すみません" | ruby -e "Encoding.default_external = Encoding::UTF_16LE; puts gets.encode('UTF-8')"
    
  • 先将内容写入UTF-8文件再让Ruby读取(适合复杂场景):

    "すみません" | Out-File -Encoding utf8 temp.txt; ruby -e "puts File.read('temp.txt')"; Remove-Item temp.txt
    
  • 切换控制台编码为UTF-8后执行命令(全局生效,注意可能影响其他命令):

    chcp 65001
    echo "すみません" | ruby -e "Encoding.default_external = Encoding::UTF_8; puts gets"
    

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 16:20:22