You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron Forge构建Windows应用时繁体中文资源文件名乱码求助

解决Electron Forge构建Windows应用时繁体中文文件名乱码问题

问题根源

开发模式(npm run start)下Node.js默认用UTF-8处理文件名,而Windows命令行默认编码为GBK,Electron Forge构建脚本读取含繁体中文的文件名时,因编码不匹配导致文件名被错误转码,最终安装包内文件名显示为乱码。

解决方案

1. 强制构建时用UTF-8编码执行命令

修改package.json的构建脚本,先切换命令行编码为UTF-8再执行构建:

"scripts": {
  "make": "chcp 65001 && electron-forge make"
}

直接运行npm run make即可,无需手动切换编码。

2. 配置Electron Packager编码参数

在forge.config.js中为packagerConfig添加encoding字段,指定打包时用UTF-8处理文件名:

module.exports = {
  packagerConfig: {
    encoding: 'utf-8',
    // 其他打包配置(如icon、appId等)
  },
  // 其他Forge配置(如makers、plugins等)
};

3. NSIS打包器编码适配(若使用NSIS)

如果用NSIS作为安装包生成工具,需在配置中明确指定UTF-8编码:

module.exports = {
  makers: [
    {
      name: '@electron-forge/maker-nsis',
      config: {
        encoding: 'UTF8',
        // 其他NSIS配置(如安装路径、图标等)
      }
    }
  ]
};

若使用自定义NSIS脚本,需在脚本开头添加编码声明:

!charset UTF8

4. 规范代码中的资源路径引用

代码中引用资源文件时,用Node.js的path模块拼接路径,避免硬编码字符串导致的编码问题:

const path = require('path');
// 正确写法
const targetResource = path.join(__dirname, '../assets/繁體中文資源.png');

验证方法

构建完成后,打开生成的安装包目录(默认在out文件夹下),检查资源文件名是否正常;若问题仍存在,删除.forge和out目录清理缓存后重新构建。

内容的提问来源于stack exchange,提问作者octopis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:40:01