<p>فایلهای متنی دارای انکدینگهای متفاوتی (ISO-8859-1 ،UTF-8 و …) هستند که هر انکدینگ مجموعه نوشتار زبانهای خاصی را پشتیبانی میکند.</p> <p>احتمالاً برای شما پیش آمده است که متنی را به فارسی در فایلی ذخیره کردهاید اما بعداً که فایل را باز کردید، محتوای آن قابل خواندن نبوده است و کاراکترهای نامفهومی بجای متن اصلی مشاهده شده است.</p> <p>این مشکل بیشتر برای کاربران لینوکس و مک زمانی پیش میآید که فایل زیرنویس فارسی دریافت میکنند اما درست نمایش داده نمیشود؛ زیرا این فایلها اکثراً در ویندوز تهیه شدهاند و اغلب در لینوکس و مک اینکدینگ متنشان تشخیص داده نمیشود.</p> <p><img src="/assets/images/charset-converter-screenshot-01.png" alt="charset-converter-screenshot-01" /></p> <p>چند وقت پیش برنامهای با Qt تهیه کردم که به راحتی و با رابط گرافیکی میتوانستید انکدیگ فایلهای متنی را تغییر دهید و فایلهای زیرنویس را تصحیح کنید (این برنامه با مجوز GPL v3 منتشر شده است و کد آن را میتوانید از آدرس <a href="https://github.com/misamplus/charset-converter">گیتهاب</a> آن دریافت کنید).</p> <p>این روزها تغییرات کوچک و مثبتی در این برنامه ایجاد کردم و آن را با نامی جدید منتشر کردم. در لانچپد (Launchpad) نیز PPA ایجاد کردم و آن را در این مخزن قرار دادم تا کاربران بتوانند بهراحتی آن را نصب و استفاده کنند.</p> <p>برای نصب آن در اوبونتو و لینوکس مینت (و دیگر توزیعهای دبیان بیس که PPA را پشتیبانی میکنند) از دستورات زیر استفاده کنید.</p> <div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo add-apt-repository ppa:misamplus/generic sudo apt-get update sudo apt-get install charset-converter </code></pre> </div> <p>برای نصب در دبیان (و دیگر توزیعهایی که PPA را پشتیبانی نمیکنند) خطوط زیر را به فایل <code class="highlighter-rouge">/etc/apt-get/sources.list</code> اضافه کنید.</p> <div class="highlighter-rouge"><pre class="highlight"><code>deb http://ppa.launchpad.net/misamplus/generic/ubuntu trusty main deb-src http://ppa.launchpad.net/misamplus/generic/ubuntu trusty main </code></pre> </div> <p>سپس برنامه را با دستورات زیر نصب کنید.</p> <div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get update sudo apt-get install charset-converter </code></pre> </div> <ul> <li>به زودی روشهایی جهت نصب در دیگر توزیعها، اضافه خواهم کرد.</li> </ul> <p>نصب برنامه تمام شد و میتوانید آن را بین برنامههایتان مشاهده و اجرا کنید؛</p> <p>با اجرای رابط گرافیکی برنامه، از منوی File گزینه Open File را زده و فایل متنی خود را انتخاب کنید تا متن آن در کادر برنامه مشاهده شود (یا فایل مورد نظرتان را کشیده (Drag) و در کادر مربوط رها (Drop) کنید)؛ سپس از لیست کشویی یکی از انکدینگهایی را انتخاب کنید که متن شما را به درستی نمایش دهد؛ اکنون از منوی File گزینه Save را انتخاب کنید تا فایل با اینکدینگ جدید ذخیره شود. برای ذخیره فایل با نام دیگر نیز میتوانید از گزینه Save as استفاده کنید.</p> <p>برای راحتی کار نیز میتوانید روی فایل مورد نظرتان کلیک راست کرده و از گزینه Open With برنامه Charset Converter را انتخاب کنید تا برنامه با اجرایش، فایل شما را نیز بار کند.</p> <p>همچین میتوانید از رابط خط فرمان این برنامه نیز در ترمینال استفاده کنید. برای این کار از قالب دستوری زیر استفاده کنید.</p> <div class="language-sh highlighter-rouge"><pre class="highlight"><code>charset-converter filename encoding <span class="o">[</span>output_filename] </code></pre> </div> <p>در قالب بالا بجای filename نام فایل و بجای encoding اینکدینگ مورد نظر را خود را بنویسید و دستور را اجرا کنید تا اینکدینگ فایل به انکدینگ مورد نظر شما تغییر کنید.</p> <p>در صورتی که میخواهید فایل با اینکدینگ جدید با نام دیگری ذخیره شود بجای [output_filename] نام فایل جدید را بنویسید.</p> <ul> <li>از برتریهای این برنامه نسبت به دستور iconv داشتن رابط گرافیکی است.</li> </ul>
Charset Converter، حل مشکل زیرنویس فارسی در لینوکس
29
آگوست
برچسب ها : آموزشی