浏览器端JS编辑SRT文件后下载,阿拉伯文本显示为方块的问题
解决SRT文件阿拉伯文本在VLC显示为方块的问题
嘿,这个问题我之前帮朋友处理过!核心就是编码格式不兼容搞的鬼——浏览器默认导出的UTF-8编码SRT文件不带BOM(字节顺序标记),而VLC对无BOM的非拉丁文本(比如你用的这类脚本)识别不太友好,才会显示成小方块。
给你几个快速解决的方案:
方案1:修改脚本,导出时加UTF-8 BOM
在你的下载逻辑里,给要保存的字幕内容开头加上UTF-8的BOM字符(\uFEFF)就行。举个JavaScript的例子:
// 假设你已经把编辑好的字幕内容存在subtitleContent变量里 const contentWithBOM = '\uFEFF' + subtitleContent; // 之后用这个带BOM的内容生成下载文件就行
这样导出的文件VLC就能直接识别编码,正常显示文本了。
方案2:手动转已下载文件的编码
要是不想改脚本,也可以用文本编辑器(比如Notepad++)处理已下载的SRT:
- 打开文件后,点顶部的「编码」菜单
- 选择「转为UTF-8带BOM编码」
- 保存后再用VLC打开,应该就能看到正常的字幕了
额外要检查的点
- 先确认浏览器里预览字幕是正常的:排除你编辑的文本本身就有乱码的情况
- 看看VLC的字幕设置:打开「工具」→「偏好设置」→「字幕/OSD」,确保默认编码设成「UTF-8」,避免播放器强制用了其他编码
内容的提问来源于stack exchange,提问作者user9373173
相关产品推荐
相关产品推荐

