تبلیغات
لینوکس و من - تبدیل charachter encoding فایل های متنی
لینوکس و من

تبدیل charachter encoding فایل های متنی

نویسنده : امین | تاریخ: 1390/10/8

سلام.
مشکل از اینجا شروع میشه که اکثر فایل های زیرنویس فارسی دارای encoding از نوع windows-1256 هستند. این باعث میشه که در نرم افزار های پخش فیلم مثل totem یا vlc زیرنویس فارسی درست نشون داده نشه. حتی اگه در تنظیمات vlc گزینه windows-1256 رو انتخاب کرده باشیم باز هم درست نمیشه. این مشکل با یه ورژن خاصی از libfribidi درست میشد. اما نمیدونم چرا در پارسیکس این روش جواب نمیده. برای حل این مشکل، من encoding فایل زیرنویس رو به utf8 تغییر میدم  و در تنظیمات vlc هم utf8 رو انتخاب میکنم. totem هم خودش متوجه خواهد شد. و زیرنویس فارسی درست نشون داده خواهد شد. برای این تغییر:

iconv -f windows-1256 -t utf8 /file-1.srt > /file-2.srt
طبیعتا آدرس فایل ها رو باید جایگزین کنید.

یک راه ساده تر برای این تبدیل، استفاده از یک اسکریپت ساده است. من این اسکریپت رو طبق نیاز خودم تغییر دادم. میتونید اون رو در یک فایل مثلا با نام srtconv ذخیره کنید و اون رو در فولدر usr/bin/  کپی کنید. و از این به بعد برای تبدیل یک زیرنویس به utf8 در خط فرمان تایپ کنید srtconv و بعد از اینتر کردن، آدرس فایلتون رو بهش میدید. اونوقت فایل شما از windows-1256 به utf8 تبدیل میشه و کنار فایل اصلی قرار میگیره.

#!/bin/bash
# get filename
# by AmiNimA  medicamin [at] gmail.com 

echo -n "This converts a file with windows-1256 encoding to UTF8. Enter File path:"
read fileName
 
if [ ! -f $fileName ]; then
  echo "Filename $fileName does not exists"
  exit 1
fi

iconv -f windows-1256 -t utf8 < $fileName > $fileName-NEW

یادتون باشه که مجوز اجرا شدن رو به اسکریپت بدید. شما میتونید با تغییر این اسکریپت کارهای دیگه ای هم انجام بدید!

1391/01/10 15:16
besyar karborD, ali bood mamnoon ;)
پاسخ امین : خواهش
1390/10/8 20:53
سلام دوست من
خسته نباشی

داداش من تا حالا با لینوکس کار نکردم
اما خیلی میخوام کار با این سیستم عامل رو شروع کنم.

شما چی رو پیشنهاد میکنید
از کجا شروع کنم

کتابی هست؟
منبعی که از همون اول نصب بتونه کمک کنه؟

البته سایتها رو میشناستم اوبنتو و پارسیکس اما خب همه یه جورایی وسطهای کار هستن!

ممنون میشم راهنمایی کنی
پاسخ امین : کتاب که هست، ولی به نظر من بدرد نمیخوره. لینوکس رو باید از توی اینترنت و انجمن های مختلف یاد گرفت. به نظر من برای شما که تا بحال کار نکردی، اوبونتو بریز. به اضافه اینکه دیسک تکمیلی هما رو از فروشگاه سیتو بخر. توضیحات نصبش هم موجوده. بعد که یه مدت کار کردی برو سراغ پارسیکس. بعد چیزهای دیگه رو امتحان کن. مثل فدورا، سوزه، مندریوا، چاکرا، لینوکس مینت. البته فکر کنم بهتره به جای اوبونتو از همون اول لینوکس مینت رو بریزی.

برای کپی پیست کردن در متن نظرات کلید shift را نگه دارید و بعد right click کنید.