Charset Converter، حل مشکل زیرنویس فارسی در لینوکس

فایل‌های متنی دارای انکدینگ‌های متفاوتی (ISO-8859-1 ،UTF-8 و …) هستند که هر انکدینگ مجموعه نوشتار زبان‌های خاصی را پشتیبانی می‌کند.

احتمالاً برای شما پیش آمده است که متنی را به فارسی در فایلی ذخیره کرده‌اید اما بعداً که فایل را باز کردید، محتوای آن قابل خواندن نبوده است و کاراکترهای نامفهومی بجای متن اصلی مشاهده شده است.

این مشکل بیشتر برای کاربران لینوکس و مک زمانی پیش می‌آید که فایل زیرنویس فارسی دریافت می‌کنند اما درست نمایش داده نمی‌شود؛ زیرا این فایل‌ها اکثراً در ویندوز تهیه شده‌اند و اغلب در لینوکس و مک اینکدینگ متنشان تشخیص داده نمی‌شود.

charset-converter-screenshot-01

چند وقت پیش برنامه‌ای با Qt تهیه کردم که به راحتی و با رابط گرافیکی می‌توانستید انکدیگ فایل‌های متنی را تغییر دهید و فایل‌های زیرنویس را تصحیح کنید (این برنامه با مجوز GPL v3 منتشر شده است و کد آن را می‌توانید از آدرس گیت‌هاب آن دریافت کنید).

این روزها تغییرات کوچک و مثبتی در این برنامه ایجاد کردم و آن را با نامی جدید منتشر کردم. در لانچ‌پد (Launchpad) نیز PPA ایجاد کردم و آن را در این مخزن قرار دادم تا کاربران بتوانند به‌راحتی آن را نصب و استفاده کنند.

برای نصب آن در اوبونتو و لینوکس مینت (و دیگر توزیع‌های دبیان بیس که PPA را پشتیبانی می‌کنند) از دستورات زیر استفاده کنید.

sudo add-apt-repository ppa:misamplus/generic
sudo apt-get update
sudo apt-get install charset-converter

برای نصب در دبیان (و دیگر توزیع‌هایی که PPA را پشتیبانی نمی‌کنند) خطوط زیر را به فایل /etc/apt-get/sources.list اضافه کنید.

deb http://ppa.launchpad.net/misamplus/generic/ubuntu trusty main
deb-src http://ppa.launchpad.net/misamplus/generic/ubuntu trusty main

سپس برنامه را با دستورات زیر نصب کنید.

sudo apt-get update
sudo apt-get install charset-converter
  • به زودی روش‌هایی جهت نصب در دیگر توزیع‌ها، اضافه خواهم کرد.

نصب برنامه تمام شد و می‌توانید آن را بین برنامه‌هایتان مشاهده و اجرا کنید؛

با اجرای رابط گرافیکی برنامه، از منوی File گزینه Open File را زده و فایل متنی خود را انتخاب کنید تا متن آن در کادر برنامه مشاهده شود (یا فایل مورد نظرتان را کشیده (Drag) و در کادر مربوط رها (Drop) کنید)؛ سپس از لیست کشویی یکی از  انکدینگ‌هایی را انتخاب کنید که متن شما را به درستی نمایش دهد؛ اکنون از منوی File گزینه Save را انتخاب کنید تا فایل با اینکدینگ جدید  ذخیره شود. برای ذخیره فایل با نام دیگر نیز می‌توانید از گزینه Save as استفاده کنید.

برای راحتی کار نیز می‌توانید روی فایل مورد نظرتان کلیک راست کرده و از گزینه Open With برنامه Charset Converter را انتخاب کنید تا برنامه با اجرایش، فایل شما را نیز بار کند.

همچین می‌توانید از رابط خط فرمان این برنامه نیز در ترمینال استفاده کنید. برای این کار از قالب دستوری زیر استفاده کنید.

charset-converter filename encoding [output_filename]

در قالب بالا بجای filename نام فایل و بجای encoding اینکدینگ مورد نظر را خود را بنویسید و دستور را اجرا کنید تا اینکدینگ فایل به انکدینگ مورد نظر شما تغییر کنید.

در صورتی که می‌خواهید فایل با اینکدینگ جدید با نام دیگری ذخیره شود بجای [output_filename] نام فایل جدید را بنویسید.

  • از برتری‌های این برنامه نسبت به دستور iconv داشتن رابط گرافیکی است.