导入后出现图片缺失、公式无法渲染或模板显示错乱,几乎总是来自三个原因之一:媒体文件没有随导出一起打包、目标应用对公式语法的渲染方式不同,或者目标应用对模板规则的处理方式不同。按这个顺序逐一排查,因为先修错层次只会浪费时间。
先说结论
- 图片空白通常意味着媒体文件没有包含在导出文件中,而不是导入失败。
- MathJax 问题几乎总是渲染差异,不是数据丢失——公式文本仍然存在。
- 模板损坏只出现在特定笔记类型上,而不是整个牌组,先隔离问题再决定是否重建。
- 先测试每种类型各一张卡片,再判断整个导入是否存在系统性问题。
- 如果媒体持续失败,先修复导出文件;在有问题的导出上反复重新导入,只会重复同样的失败。
为什么媒体会在迁移中悄悄失效
即使卡片的正反面文字导入得完全正确,其中的图片或音频也可能失败,因为卡片和媒体文件是分开存储的,哪怕它们在同一个导出文件里也是如此。卡片通过文件名引用媒体;媒体文件本身必须随包一起传输,并落在目标应用能真正读取到的位置。只要其中一环断裂,卡片依然会导入成功——只是原本显示媒体的地方变成了空白。
这就是为什么"导入完成,没有报错"这句话说明不了任何关于媒体是否成功传输的信息。一个成功创建了卡片的导入器,并不知道自己期望的图片其实没有包含在内,除非它明确检查并报告这个缺失。大多数应用不会显著地提示这类检查结果,所以测试而不是信任成功提示,责任就落在了你自己身上。
修复缺失的图片和音频
先确认媒体确实包含在你导出的文件里,而不只是你导入的文件里。
- 检查导出,而不只是导入。 如果导出文件是你自己创建的,且源应用把"是否包含媒体"作为独立选项,请重新导出并勾选该选项。
- 打开缺失媒体的具体那张卡片,而不只是看列表视图。一张卡片在列表中可能显示完整,实际上仍然缺少图片,因为列表视图通常根本不渲染媒体。
- 搜索卡片引用的文件名,如果你的源应用和目标应用都能看到这个细节。一个文件名与卡片预期略有出入的媒体文件,会悄无声息地附加失败。
- 重新导出一个只包含缺失卡片的小型测试牌组,明确勾选包含媒体,然后只导入这个测试牌组。如果这次图片出现了,说明原始导出本身就不完整,而不是导入器的问题。
- 对少量卡片手动重新附加文件,作为最后手段,而不是为了修复少数缺失文件而重新导入整个大牌组。
音频遵循和图片一样的规律:一张卡片可能显示完全正常,却仍然缺少声音,所以你必须实际播放才能确认。不要依赖汇总界面里的附件数量——打开并播放文件本身。
修复无法渲染的 MathJax 和公式
如果公式显示为原始文本——美元符号、反斜杠、花括号——而不是渲染后的方程,这是渲染问题,不是数据丢失。公式的源文本几乎总是正确导入了,出问题的是目标应用对这段语法的解释方式和源应用不一样。
- 确认原始文本确实存在。 打开卡片,检查公式的底层文本——用美元符号分隔的 MathJax 或 LaTeX——是否存在,哪怕它没有渲染出来。如果文本存在,这就是一个不需要重新导入就能修复的显示问题。
- 对你实际会用到的每种元素各测试一个公式:运算符、分数、希腊字母、上标。目标应用可能能正确渲染简单公式,却在你的集合依赖的某种特定结构上失败。
- 检查分隔符是否不匹配。 不同工具有时会对公式两端的标记有细微不同的要求。如果原始文本存在,只是被目标应用不识别的分隔符包裹着,那么真正的问题是分隔符不匹配,而不是公式丢失。
- 判断问题出在一种笔记类型上还是所有笔记类型上。 如果每张卡片的公式都失败,说明问题是目标应用级别的渲染设置;如果只有一种笔记类型出问题,说明问题出在那个具体模板上。
在确认底层文本完好之前,不要动手重写整个大牌组里的公式。修一次渲染设置,远比手动重新输入那些其实从未真正丢失的方程式要省力得多。
修复损坏的模板和样式
模板控制卡片字段的排列和样式,而不是字段本身的内容——这也是为什么一张"显示错乱"的卡片,往往其实所有正确信息都还在,只是被糟糕的布局藏了起来。
- 先检查一张普通卡片,再检查一张你知道使用了特殊格式的卡片。如果两张都显示错误,问题很可能是目标应用级别的。如果只有特殊格式那张出错,问题就出在那个模板的自定义规则上。
- 把自定义 CSS 或样式和卡片内容分开检查。 一条引用了目标应用不识别的字体或类名的样式规则,可能扭曲卡片的布局,而每个字段的实际内容依然正确、可以被搜索到。
- 对比字段的位置,而不只是外观。 一个字段出现在卡片上错误的位置,是笔记类型之间的映射问题,不是数据丢失问题——文字通常仍然存在于卡片上的某个地方。
- 判断哪些值得重建。 一个你可以接受的外观差异不需要修复;一个把你实际需要看到的字段藏起来的布局问题则需要修复。
一套可重复使用的六卡测试,趁问题扩散前发现它
在假设整个导入要么完全正常、要么彻底损坏之前,先在一个小样本上运行这套测试。
- 一张没有媒体也没有特殊格式的纯文本卡片。
- 一张带图片的卡片。
- 一张带音频的卡片。
- 一张填空卡。
- 一张带公式的卡片。
- 一张使用你最复杂自定义模板或 CSS 的卡片。
逐一单独打开这些卡片——而不是从列表视图查看——确认媒体能加载、公式能渲染、布局符合预期。这六张卡片覆盖了最容易分别出问题的层面,所以一旦出现失败,就能明确告诉你问题属于上面三个原因中的哪一个,而不必在整个牌组里盲目猜测。
关于这套测试所属的更完整的迁移前检查清单,请参阅 将闪卡迁移到其他应用而不用从头开始。 关于打包导出一开始能携带哪些内容、不能携带哪些内容,请参阅 .apkg 会从你的学习计划中保留哪些内容。
StudyDaily 如何处理导入的媒体和模板
StudyDaily 在导入时保持卡片格式完整,包括填空格式和图片遮挡的显示方式,并会读取 .apkg 和集合包导入所引用的媒体。如果某个媒体文件本来就没有包含在源导出中,StudyDaily 无法找回一个从未被发送过的文件——这个限制属于导出环节,不属于导入器,这也正是为什么先测试导出本身是上面第一步而不是最后一步排查手段的原因。
在浏览器中打开 StudyDaily,用你自己的六卡样本测试一次导入,再决定是否提交完整集合——复习不需要账号,所以你可以先检查媒体和公式,再决定下一步。
接下来应该怎么做?
在小样本上运行六卡测试,把失败归类到媒体、公式或模板,然后只修复出问题的那一层,而不是重新导入整个集合、指望结果会不一样。
- 逐一打开卡片;列表视图会隐藏缺失的媒体。
- 在认定公式丢失之前,先确认公式文本是否存在。
- 判断布局问题是目标应用级别的,还是特定模板的问题。
- 在怪罪导入器之前,先重新导出并勾选包含媒体。
- 把这套六卡样本作为你未来每次导入的标准测试。
常见问题
导入牌组后为什么图片会缺失?
几乎总是因为媒体文件没有包含在导出文件里,而不是因为导入失败。重新导出时明确勾选包含媒体,并在同一张卡片上重新测试,再考虑其他可能的原因。
导入后为什么 MathJax 不渲染?
公式的原始文本通常导入得很正确;是目标应用对这段语法的渲染方式不同,或者使用了不同的分隔符。在动手重写任何内容之前,先确认底层文本是否存在。
怎么判断模板问题影响的是整个牌组还是一种笔记类型?
对比一张普通卡片和一张使用你最复杂自定义模板的卡片。如果只有自定义那张显示错误,问题就出在那个模板的样式规则上,而不是整个导入过程。
应该为了修复媒体问题重新导入整个牌组吗?
只有在确认导出文件现在已经包含了缺失的媒体之后才应该这么做。不先修复导出就重新导入,只会重复同样的缺口,因为导入器无法附加一个从未被发送过的文件。
本指南使用的来源
本指南描述的是打包牌组导出与导入的一般机制;官方的 Anki 导出手册 和 打包牌组导入手册 说明了媒体和格式在这类应用的包内如何传输。StudyDaily 的导入行为来自产品自身的导入器,并对照这些来源为本指南 2026 年 7 月 6 日的发布日期进行了核对。
Anki 是其所有者的注册商标。StudyDaily 与 Anki 没有隶属关系,不受 Anki 认可,也不由 Anki 赞助。此处使用该产品名称,仅用于说明兼容性和比较功能。
用自己的卡片试试这个方法
在浏览器中打开 StudyDaily。本地学习无需账号。
打开 StudyDaily