تغییر اِنکُدینگ کاراکتر

نوشته حسین بهنودی در ۱۰ فروردین ۱۳۹۷

فایل‌ها متنی فارسی در ویندوز با انکدینگ Windows-1256 ذخیره می‌شود. این فایل‌ها در محیط‌های دیگر مانند لینوکس یا مک او اس ممکن است درست نمایش داده نشود. مثلا فایل‌های زیرنویس فارسی که در ویندوز تهیه شده، بر روی موبایل یا تلویزیون قابل استفاده نیست. باید انکدینگ آن را به UTF-8 تغییر داد تا همه جا به درستی نمایش داده شود.

در لینوکس یک نرم افزار قدرتمندی وجود دارد که می‌تواند هر انکدینگی را به هر انکدینگ دیگر تبدیل کند. نام این برنامه iconv است. این برنامه یک فایل متنی را دریافت می‌کند، سپس  آن را به انکدینگ دلخواه شما تغییر داده و نتیجه را به در یک فایل جدید ذخیره می‌کند.

به عنوان مثال اگر نام فایل مورد نظرتان input.txt باشد و نام فایل اصلاح شده output.txt دستور به شکل زیر می باشد.

iconv -f windows-1256 -t UTF-8 input.txt > output.txt