自动解码命令行脚本的ANSI输出

时间:2017-06-27 08:12:49

标签: javascript node.js windows gulp

我正在运行命令行脚本作为Gulp任务的一部分:

SELECT id,
       CASE
          WHEN min(pv.provider) IS NULL
          THEN NULL::jsonb
          ELSE jsonb_agg(
                  jsonb_build_object(
                     COALESCE(pv.provider, ''),
                     pv.provider_code
                  )
               )
          END
FROM properties pp
   LEFT JOIN providers pv
      USING (id)
GROUP BY id;

当我从常规命令提示符运行脚本时,可执行文件检测到当前代码页并以适当的编码发出输出。

我不知道如何继续我的Gulp任务,因为Node默认为UTF-8和doesn't seem to support Windows encodings

是否有内置的方法可以从默认的ANSI代码页(我的电脑中的850,如果这很重要)正确解码我的脚本输出,或者我需要安装转换包并自己完成?

1 个答案:

答案 0 :(得分:0)

我无法找到办法。

对于记录,可能的手动方法是:

canvas.toBlob(blob => {
  let file = new Blob([blob], {type:"application/octet-stream"})
  let blobURL = URL.createObjectURL(file)
  window.location.href = blobURL
})