node调用python输出中文乱码问题

问题描述

使用node的children_process模块调用python脚本文件,出现输出信息为乱码问题

image

// node脚本
const { spawn } = require('child_process');

const pythonProcess = spawn('python', ['./test.python']);
pythonProcess.stdout.on('data', (data) =>{
  const output = data.toString();
  console.log(output)
})

解决方案

在python代码中进行额外处理。

  1. 引入io模块
  2. 引入sys模块
  3. 执行格式转换
// python脚本
import io
import sys

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')

参考了其他大佬的博客。

posted @ 2023-12-11 15:15  李嘉图呀  阅读(255)  评论(0)    收藏  举报