解决使用Vscode调试Electron主进程时终端打印中文时乱码问题

问题

主进程有一段代码如下:

javascript 复制代码
const { dialog } = require('electron')
const fs = require('fs')
const path = require('path')

// 递归遍历文件
const loadFilesInDir = (dir) => {
  let fileList = []
  // 读取目录下全部文件及子目录
  let files = fs.readdirSync(dir)
  for (var i = 0; i < files.length; i++) {
    let filePath = path.join(dir, files[i])
    // 获取信息
    let fileData = fs.statSync(filePath)
    // 判断是文件还是目录
    if (fileData.isFile()) {
      // 如果是文件,则记录下来
      fileList.push(filePath)
    } else {
      // 如果是目录,则递归遍历,并拼接结果
      fileList = fileList.concat(loadFilesInDir(filePath))
    }
  }
  return fileList
}

// 打开选择目录对话框并遍历目录里的所有文件
const readDir = (event, arg) => {
  console.log('接收渲染进程传参:', arg)
  dialog
    .showOpenDialog({
      // 只允许选择文件夹
      properties: ['openDirectory']
    })
    .then((result) => {
      if (!result.canceled) {
        result.fileList = loadFilesInDir(result.filePaths[0])
      }
      // 将处理结果返回给渲染进程
      event.reply('readDir-reply', result)
    })
}

export { readDir }

代码中的 console.log('接收渲染进程传参:', arg) 打印到终端中显示如下:

解决方法

  1. 搜索"区域"
  1. 依次点击【管理】→ 【更改系统区域设置】
  1. 勾选上【Bate 版:...】
  1. 重启电脑

解决后效果

相关推荐
小小爱大王35 分钟前
AI 编码效率提升 10 倍的秘密:Prompt 工程 + 工具链集成实战
java·javascript·人工智能
半生过往35 分钟前
2025 前端动效实战指南:Vue Bits & React Bits 深度拆解(功能 / 复用 / 高频问题处理)
前端·vue.js·react.js
程序员包打听38 分钟前
Vitest 4.0 重磅发布:Browser Mode 正式稳定,前端测试进入新纪元
前端
BumBle39 分钟前
UniApp 多页面编译优化:编译时间从10分钟到1分钟
前端
星链引擎43 分钟前
大语言模型的技术突破与稳定 API 生态的构建
前端
还是大剑师兰特43 分钟前
TypeScript 面试题及详细答案 100题 (71-80)-- 模块与命名空间
前端·javascript·typescript
BumBle43 分钟前
使用 SortableJS 实现vue3 + Element Plus 表格拖拽排序
前端·vue.js·element
玉宇夕落43 分钟前
HTML5 音乐敲击乐静态界面
前端
海在掘金6112744 分钟前
告别"拼写错误":TS如何让你的代码"字字精准"
前端
用户479492835691544 分钟前
什么是XSS攻击,怎么预防,一篇文章带你搞清楚
前端·javascript·安全