根本原因是编码不匹配,需先确认文件真实编码,再用vs code或notepad++转存为utf-8无bom格式;powershell可批量检测bom文件。

电脑导出的Markdown文件在Typora、VS Code或Obsidian中打开时中文显示为“涓枃”“鏍囬”或方框□,根本原因几乎都是编辑器用错误编码加载了UTF-8 without BOM格式的文件,或文件本身被Windows记事本等工具悄悄写入了BOM头——必须统一用UTF-8无BOM编码打开并固化保存。
先确认当前乱码文件的真实编码
别急着改,先看它本来是什么编码。在VS Code中打开乱码文件,右下角状态栏会显示当前识别的编码(如“GBK”“UTF-8 with BOM”)。如果显示“UTF-8”,但内容仍是乱码,大概率是文件实际为GBK编码却被强行按UTF-8解析;如果显示“GBK”或“ISO-8859-1”,而中文部分异常,则说明原始保存编码就是GBK。
此时点击该编码标识→选择“通过编码重新打开”→依次尝试GBK、GB2312、UTF-8。哪一种能立刻让中文清晰可读,就说明那是原始编码。
用VS Code一步转存为UTF-8无BOM
这一步直接解决90%的跨平台乱码问题。前提是已通过上一步确认内容能正常显示。
第一步:确保文档当前已正确显示中文(即已用对的编码打开)。
第二步:点击右下角编码标识→选择“另存为编码”→在弹出菜单中选“UTF-8”,务必勾选“不带签名(BOM)”选项,再点保存。
第三步:关闭文件,重新用Typora或VS Code打开刚保存的新文件,乱码应彻底消失。此操作覆盖原文件编码信息,后续所有编辑器都会按标准UTF-8 without BOM加载。
基于三引擎设计,从微信文章、新闻和博客网页提取干净内容,支持标题作者日期元数据,多格式和批量处理。
方法一:用Notepad++批量修复多个乱码.md文件
适合一次处理几十个从不同渠道导出的乱码Markdown文件。
打开Notepad++ → 拖入全部乱码.md文件 → 顶部菜单栏点“编码”→“以UTF-8无BOM编码查看”。若仍乱码,先试“以GBK编码查看”,等文字正常后,再点“编码”→“转换为UTF-8无BOM编码”→全部保存。
注意:Notepad++的“转换为”是真正修改文件字节流,不是仅切换显示方式,所以这一步不可逆,但安全——UTF-8无BOM是现代文本交换唯一推荐标准。
方法二:命令行快速检测并去BOM(Windows PowerShell)
当批量文件来源不明、又不想逐个打开时,用PowerShell精准定位BOM文件。
打开PowerShell → 进入存放.md文件的文件夹 → 执行:Get-ChildItem *.md | ForEach-Object { if ((Get-Content $_.FullName -Raw -Encoding Byte)[0..2] -join '' -eq '239187191') { Write-Host "含BOM: $($_.Name)" } }
该命令检测每个.md文件开头三字节是否为EF BB BF(即UTF-8 BOM),输出含BOM的文件名。找到后,用VS Code或Notepad++单独打开这些文件,执行“另存为UTF-8无BOM”即可。










