زیرنویس بههمریخته یا نویسههای نادرست در VLC: رفع رمزگذاری
زیرنویس بههمریخته — علامت سؤال، لوزی سیاه یا دیواری از نویسههای بیمعنا — یک مشکل رمزگذاری متن است، نه فایل زیرنویس آسیبدیده. فایل زیرنویس سالم است؛ VLC آن را با مجموعه نویسه نادرست رمزگشایی میکند. این مشکل با فایلهای قدیمی SRT که بهصورت Windows-1252 یا اروپای مرکزی ذخیره شدهاند بسیار رایج است، و به همان اندازه با فایلهای UTF-16. یک تغییر در تنظیمات آن را بهطور کلی برطرف میکند و بازنویسی برای هر فایل فوراً درستش میکند.
چرا این اتفاق میافتد؟
- رمزگذاری پیشفرض نادرست در VLC — VLC فرض میکند UTF-8 است؛ فایلهای قدیمی با Windows-1251/1252/GBK اشتباه خوانده میشوند.
- زیرنویسهای رمزگذاریشده با UTF-16 — بعضی ابزارها فایل SRT را بهصورت UTF-16 با BOM ذخیره میکنند؛ تشخیص خودکار VLC گاهی سمت نادرست را انتخاب میکند.
- فایل UTF-8 بدون BOM با محتوای چینی/سیریلیک — بدون BOM، VLC ممکن است یک صفحهکد قدیمی را حدس بزند.
- فایلهای ASS/SSA با سرآیند مجموعه نویسه پشتیبانینشده — فایل یک رمزگذاری را اعلام میکند اما محتوای آن چیز دیگری است.
چگونه رفع کنیم
راهحل 1نمایش زیرنویس را اصلاح کنید (رمزگذاری نویسهها)
باعث میشود زیرنویسها درست نمایش داده شوند
به Tools > Preferences > Subtitles بروید (زیر بخش "Subtitles / OSD").
تنظیمات زیرنویس باز میشود.
گزینه "Default encoding" را روی UTF-8 — و اگر جواب نداد، Windows-1256 (عربی/فارسی)، Windows-1252 یا صفحهکد همخوان با زبان خود را امتحان کنید بگذارید (یا برای فایلهای قدیمی Windows-1256 / عربی-فارسی را امتحان کنید).
متن بهدرستی رمزگشایی میشود.
روی Save کلیک کنید و ویدیو را دوباره باز کنید.
زیرنویسها با تنظیمات جدید از نو ترسیم میشوند.
راهحل 2رمزگذاری را برای یک فایل بازنویسی کنید (آزمون سریع)
فایل فعلی را در ۱۰ ثانیه درست میکند — و صفحهکد صحیح را مشخص میکند
در حین پخش به زیرنویس > Sub Track بروید (منوی راستکلیک) — اگر موجود بود، زیرمنوی «Character encoding» را باز کنید.
گزینههای رمزگذاری ظاهر میشوند.
میان UTF-8، Windows-1256 و Windows-1252 بگردید تا متن خوانا شود.
رمزگذاری درست پیدا میشود.
رمزگذاری کارآمد را یادداشت کنید و آن را در تنظیمات بهعنوان پیشفرض بگذارید.
فایلهای بعدی از این نوع درست رمزگشایی میشوند.
راهحل 3زیرنویس را بهصورت UTF-8 دوباره ذخیره کنید
راهحل همیشگی در سطح فایل
فایل .srt را در Notepad++ (یا VS Code / هر ویرایشگری با کنترل رمزگذاری) باز کنید.
فایل باز میشود، احتمالاً بههمریخته.
از منوی Encoding گزینه Convert to UTF-8 را انتخاب کنید (بدون BOM هم مشکلی ندارد).
فایل تبدیل میشود.
ذخیره کنید و ویدیو را در VLC از نو بارگذاری کنید.
زیرنویسها همهجا و روی هر دستگاهی درست نمایش داده میشوند.
راهحل 4تنظیمات VLC را به حالت پیشفرض بازگردانید
تنظیمات خراب که باعث کرش، صفحه سیاه و مشکلات صدا میشوند را از بین میبرد
VLC را کاملاً ببندید.
هیچ پردازهای از VLC در حال اجرا نیست.
یک خط فرمان باز کنید (Win+R ← cmd) یا یک ترمینال.
خط فرمان در دسترس است.
دستور
vlc --reset-configرا اجرا کنید (ویندوز/لینوکس) — در macOS بهجای آن پوشه~/Library/Preferences/org.videolan.vlcرا حذف کنید.تنظیمات VLC به مقادیر پیشفرض بازمیگردد.
VLC را اجرا کنید و فقط تنظیماتی را که واقعاً لازم دارید دوباره اعمال کنید.
VLC با تنظیمات پاک شروع به کار میکند.
رفع اشکال پیشرفته
راهحل 1رفع فایلهای ASS با سرآیند مجموعه نویسه نادرست
زیرنویسهای سبکدار که تنظیمات رمزگذاری را نادیده میگیرند را مدیریت میکند
فایل .ass را در یک ویرایشگر متن باز کنید و سرآیند «Script Info» را برای یافتن خط charset بررسی کنید.
سرآیند دیده میشود.
اگر فایل محتوای روسی/چینی در سرآیندی بهظاهر UTF-8 دارد، آن را بهصورت UTF-8 دوباره ذخیره کنید و هر خط بازنویسی charset را حذف کنید.
سرآیند با محتوا همخوان میشود.
در VLC از نو بارگذاری کنید — اکنون سبکدهی ASS با متن درست اعمال میشود.
زیرنویسهای سبکدار خوانا هستند.
چگونه در آینده از آن جلوگیری کنیم
- زیرنویسها را بهطور پیشفرض با UTF-8 ذخیره کنید.
- از ابزارهایی استفاده کنید (subliminal، subdownloader) که خروجی UTF-8 میدهند.
- اگر زیرنویس را دستی ویرایش میکنید، BOM را نگه دارید یا مطمئن شوید ویرایشگر با UTF-8 مینویسد.
سؤالات متداول
چرا زیرنویس من در VLC به شکل مربع (□) نمایش داده میشود؟
آیا VLC زیرنویس چینی، سیریلیک یا فارسی و عربی را پشتیبانی میکند؟
زیرنویس در Notepad سالم است اما در VLC بههمریخته — چرا؟
متن فقط در حالت تمامصفحه بههمریخته است؟
جمعبندی
نمایش زیرنویس را اصلاح کنید (رمزگذاری نویسهها) — باعث میشود زیرنویسها درست نمایش داده شوند. If it does not help, work through the remaining fixes in order: each targets a different layer of the problem. Most users resolve this issue by fix 3 at the latest. Keep VLC updated (current stable: 3.0.23) and revisit this guide when a new VLC version ships.