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

Unity WebGL构建失败:UnicodeDecodeError编码错误求助

Unity WebGL构建UnicodeDecodeError(0x98字节解码失败)排查方案

核心原因分析

这个报错本质是Windows系统默认的charmap编码无法识别文件中的特殊字节(0x98),通常和非ASCII字符路径/文件名、文件编码不统一或第三方插件含异常字符有关。


1. 彻底排查项目路径与文件名

Windows下Unity构建WebGL时对路径字符兼容性差,直接检查:

  • 项目根目录、Assets文件夹下所有子目录、文件(脚本、资源、Shader等),确保没有中文、全角符号、日文等非英文字符
  • 重点排查最近新增的资源或脚本,比如把“技能特效_冰系”改成“IceSkillEffect”,路径层级里不能出现任何非ASCII字符

2. 强制构建过程使用UTF-8编码

通过系统环境变量让Unity构建时强制用UTF-8读取文件:

  1. 右键「此电脑」→ 属性 → 高级系统设置 → 环境变量
  2. 在「系统变量」区域新增三个变量:
    • 变量名:PYTHONUTF8,变量值:1
    • 变量名:LC_ALL,变量值:en_US.UTF-8
    • 变量名:LANG,变量值:en_US.UTF-8
  3. 重启Unity后重新执行构建

3. 定位build.js中的异常字符

直接查看报错的文件:

  1. 找到路径Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js
  2. 用Notepad++打开,切换编码为「UTF-8」(编码→转为UTF-8)
  3. 用「查找」→「转到」功能定位到字节位置52658,查看该位置的字符是否为乱码或特殊符号
  4. 根据异常字符回溯源头:比如是否是某个自定义脚本的注释、Shader的特殊字符,或是第三方插件的代码问题

4. 深度清理项目缓存

除了常规的Bee和Library文件夹,还要清理:

  • 项目根目录下的Temp文件夹
  • 项目根目录下的obj文件夹(如果存在)
  • Unity Hub缓存:打开Unity Hub→设置→安装位置→缓存位置→清理缓存
    清理完成后重新打开项目,让Unity重新生成所有缓存文件

5. 排查第三方插件与自定义脚本

  • 逐个禁用最近新增的第三方插件(尤其是WebGL相关的SDK、广告插件),每次禁用后尝试构建,定位到问题插件
  • 检查自定义脚本的注释、字符串是否含有特殊字符(比如全角空格、不可见控制字符),用Notepad++打开脚本并转为UTF-8编码保存

6. 切换Unity编辑器语言

打开Unity→Edit→Preferences→Language,设置为「English (US)」,避免中文界面下的编码兼容问题,重启编辑器后再构建


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:55:08