解决使用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. 重启电脑

解决后效果

相关推荐
2601_962885727 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
excel7 小时前
encodeURI 和 encodeURIComponent 有什么区别?
前端
前端精髓7 小时前
调用openrouter的免费API模型
java·前端·javascript
赛博守夜人7 小时前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
开开心心_Every8 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
networknomad8 小时前
OpenReplay:自己搭的会话回放工具,给前端排错用的
前端·其他
缓慢更新9 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
陈随易9 小时前
AI 运维服务器,安全又可靠的方法
前端·后端·程序员
风骏时光牛马10 小时前
AI稳定性治理体系构建与疑难问题深度分析
前端
IT_陈寒11 小时前
JavaScript的this坑人实录,这次我真的记下来了
前端·人工智能·后端