解决Node Electron下调用Python脚本输出中文乱码的问题

news/2025/3/11 5:40:50/

博主原博客地址:https://www.lisok.cn/Front-End/610.html

调用Pyinstaller打包后的可执行文件方式如下:

import { promisify } from 'util'
import { exec } from 'child_process'
import { app } from 'electron'async handleVerifyZy(id) {const entity = await this.findById(id)const execPromise = promisify(exec)let args = `-a 202501 -c community-sample.json -r resident-sample.json -t ${entity.timestamp}`const verifyOutput = await execPromise(`verify.exe ${args}`)// 正常运行结束需要取出结果的excellet outputExcelName = join(app.getPath('userData'),'verify_result',`${entity.timestamp}_monthly_zy_analysis_result.xlsx`)return {outputExcelName,verifyOutput}}

打印在渲染层发现标准输出的中文乱码

在这里插入图片描述

需要修改Python脚本,定义全局的stdout的编码

python"># encoding:utf-8
import io
import syssys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding="utf-8")

打包后再次调用,问题解决

在这里插入图片描述

参考

1.nodejs调用python输出中文乱码的问题:https://blog.csdn.net/qq_40185480/article/details/105910329


http://www.ppmy.cn/news/1578265.html

相关文章

单片机项目复刻需要的准备工作

一、前言 复刻单片机的项目的时候,有些模块是需要焊接的。很多同学对焊接没有概念。 这里说一下做项目的基本工具。 比如:像这种模块,都需要自己焊接了排针才可以链接的。 二、基本模块 2.1 单排排针 一些模块买回来是没有焊接的&#x…

55. 跳跃游戏(力扣)

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1: 输…

若依前后端分离版使用Electron打包前端Vue为Exe文件

1.前言 本文详细介绍如何使用electron将若依框架前后端分离版的前端Vue页面打包为Exe文件,并且包括如何实现应用更新。使用若依基础代码体现不出打包功能,因此我使用开发的文件管理系统,介绍上述过程,具体可以查看我的文章《若依…

Java Spring MVC (2)

常见的Request Controller 和 Response Controller 的区别 用餐厅点餐来理解 想象你去一家餐厅吃饭: Request Controller(接单员):负责处理你的点餐请求,记录你的口味、桌号等信息。Response Controller&#xff08…

【linux网络编程】端口

一、端口(Port)概述 在计算机网络中,端口(Port) 是用来标识不同进程或服务的逻辑通信端点。它类似于一座大楼的房间号,帮助操作系统和网络协议区分不同的应用程序,以便正确地传输数据。 1. 端口…

WebSocket:实现实时通信的利器

在现代Web应用中,实时通信变得越来越重要。无论是聊天应用、在线游戏,还是实时数据推送,传统的HTTP请求-响应模式已经无法满足需求。WebSocket作为一种全双工通信协议,应运而生,成为实现实时通信的利器。本文将深入探讨…

QT快速入门-信号与槽

信号与槽概述 信号与槽是 Qt 框架引以为豪的机制之一。所谓信号与槽,实际就是观察者模式(发布-订阅模式)。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没…

MWC 2025 | 移远通信推出AI智能无人零售解决方案,以“动态视觉+边缘计算”引领智能零售新潮流

在无人零售市场蓬勃发展的浪潮中,自动售货机正经历着从传统机械式操作向AI视觉技术的重大跨越。 移远通信作为全球领先的物联网整体解决方案供应商,精准把握行业趋势,在2025世界移动通信大会(MWC)上宣布推出全新AI智能…