先搞清楚:乱码的多半只是「名字」

世界名变成乱码、一串问号或小方块,看着吓人,但真正的世界数据(区块、方块、实体)通常没有坏。问题几乎都出在世界名称那段文本的编码上:

  • levelname.txt —— 一个纯文本文件,存世界的显示名。如果它不是以 UTF-8 保存,或在不同系统(Windows、安卓、iOS)之间传来传去时被改了编码,名字就会显示成乱码。
  • level.dat —— 世界的元数据(NBT 二进制),里面也存了一份世界名。这两处不一致,或其中一处编码不对,都会让名字显示异常。

所以这通常是个小问题,不是存档损坏。想先了解这两个文件分别管什么,可以看 level.dat 是什么文件Minecraft 存档在哪里

用 TopoBlocks 先免费诊断,看清是不是只是名字问题

最稳妥的做法是先本机免费诊断,确认问题边界,再决定怎么修:

  1. 打开并诊断。TopoBlocks 里打开这个世界文件,免费诊断会默认在你的设备上读取 levelname.txt / level.dat 里的实际名称、版本与结构,不上传你的存档。
  2. 看清是不是单纯的名称问题。 报告若显示只有名字乱码、其它结构正常,那基本就是 levelname.txt 的编码问题;如果同时报告了结构或区块异常,那是另一类问题,按提示处理。
  3. 该改名改名,该修结构修结构。 纯显示问题最简单的办法是自己重存 levelname.txt(见下一节);如果诊断报告的是压缩结构/层级不对(比如 level.dat 不在压缩包根目录),可以执行免费的简单结构修复,生成一个能正常导入的新 .mcworld

任何修复都遵守一条产品红线:绝不覆盖你的源文件,每次都生成一个新的、可追溯的版本——万一不满意,原档原样还在。

想自己动手改名字?可以,这往往最快

levelname.txt 是纯文本,纯粹的名字乱码,你完全可以自己修:用支持 UTF-8 的编辑器重新输入世界名并以 UTF-8 编码保存即可。level.dat 里也存了一份名称,但它是 NBT 二进制结构、手动编辑很容易出错,不建议直接改;通常只把 levelname.txt 改正确,进游戏后再在世界设置里重命名一次,就能让两处一致。

也要诚实说明边界:上面这些只解决名字显示/编码文件打包这类问题。如果世界本身是因为区块缺失、压缩结构损坏或更深层问题而打不开,那属于另一类情况——简单的结构修复能处理打包/层级问题,但更复杂的损坏可能需要走高级修复(¥9/次,价格以 App 内为准,付费前展示问题与成功概率、失败自动退款)。这类情况可以参考 .mcworld 文件损坏怎么办