iconv(1) General Commands Manual iconv(1)

iconv - تبدیل متن از یک کدگذاری نویسه به کدگذاری دیگر

iconv [options] [-f from-encoding] [-t to-encoding] [inputfile ...]

برنامه iconv متن را در یک کدگذاری خوانده و آن را در کدگذاری دیگری خروجی می‌دهد. اگر هیچ فایل ورودی مشخص نشود، یا اگر به‌صورت یک خط پیوند (-) مشخص شود، iconv از ورودی استاندارد می‌خواند. اگر هیچ فایل خروجی مشخص نشود، iconv در خروجی استاندارد می‌نویسد.

اگر هیچ from-encoding مشخص نشده باشد، مقدار پیش‌فرض از کدگذاری نویسه‌های محلی جاری گرفته می‌شود. اگر هیچ to-encoding مشخص نشده باشد، مقدار پیش‌فرض از کدگذاری نویسه‌های محلی جاری گرفته می‌شود.

استفاده از from-encoding برای نویسه‌های ورودی.
استفاده از to-encoding برای نویسه‌های خروجی.
اگر رشته //IGNORE به to-encoding پیوست شود، نویسه‌هایی که قابل تبدیل نیستند نادیده گرفته شده و پس از تبدیل، یک خطا چاپ می‌شود. (نویسه‌هایی که قابل رمزگشایی نیستند، چه با این پرچم و چه بدون آن، به عنوان خطا در نظر گرفته می‌شوند.)
اگر رشته //TRANSLIT به to-encoding پیوست شود، نویسه‌های در حال تبدیل در صورت نیاز و امکان نویسه‌گردانی می‌شوند. این بدان معناست که وقتی یک نویسه نمی‌تواند در مجموعه نویسه‌های مقصد نمایش داده شود، می‌توان آن را با یک یا چند نویسه با ظاهر مشابه تقریب زد. نویسه‌هایی که خارج از مجموعه نویسه‌های مقصد هستند و امکان نویسه‌گردانی آن‌ها وجود ندارد، در خروجی با یک علامت سؤال (?) جایگزین می‌شوند.
فهرست کردن تمام کدگذاری‌های مجموعه نویسه شناخته‌شده.
نادیده گرفتن نویسه‌هایی که قابل تبدیل نیستند به جای پایان دادن به اجرای برنامه در زمان برخورد با چنین نویسه‌هایی. استاندارد POSIX الزام می‌کند که این گزینه وضعیت خروج برنامه را تغییر ندهد.
استفاده از outputfile برای خروجی.
این گزینه نادیده گرفته می‌شود؛ تنها برای سازگاری ارائه شده است.
چاپ اطلاعات پیشرفت روی خطای استاندارد هنگام پردازش چندین فایل.
-?
چاپ خلاصه‌ای از نحوه استفاده و خروج.
چاپ خلاصه‌ای کوتاه از نحوه استفاده و خروج.
چاپ شماره نسخه، مجوز و سلب مسئولیت ضمانت برای iconv.

صفر در صورت موفقیت، غیر صفر در صورت بروز خطا.

درون برنامه، iconv از تابع iconv(3) استفاده می‌کند که آن هم به نوبه خود از ماژول‌های gconv (کتابخانه‌های اشتراکی با بارگذاری پویا) برای تبدیل به یک مجموعه نویسه یا از آن استفاده می‌کند. پیش از فراخوانی iconv(3)، برنامه iconv باید ابتدا یک توصیف‌گر تبدیل را با استفاده از iconv_open(3) تخصیص دهد. عملکرد این تابع تحت تأثیر تنظیمات متغیر محیطی GCONV_PATH است:

•
اگر GCONV_PATH تنظیم نشده باشد، iconv_open(3) فایل کش پیکربندی ماژول‌های gconv سیستم را که توسط iconvconfig(8) ایجاد شده بارگذاری می‌کند و سپس بر پایه این پیکربندی، ماژول‌های gconv لازم برای انجام تبدیل را بارگذاری می‌نماید. اگر فایل کش پیکربندی ماژول‌های gconv سیستم در دسترس نباشد، آن‌گاه از فایل پیکربندی ماژول‌های gconv سیستم استفاده می‌شود.
•
اگر GCONV_PATH تعریف شده باشد (به‌صورت فهرستی از مسیرها که با دونقطه از هم جدا شده‌اند)، کش پیکربندی ماژول‌های gconv سیستم استفاده نمی‌شود. در عوض، iconv_open(3) ابتدا تلاش می‌کند فایل‌های پیکربندی را با جستجوی دایرکتوری‌ها در GCONV_PATH به ترتیب بارگذاری کند، و پس از آن به سراغ فایل پیکربندی پیش‌فرض سیستم برای ماژول‌های gconv برود. اگر یک دایرکتوری فاقد فایل پیکربندی ماژول‌های gconv باشد، هر ماژول gconv موجود در آن نادیده گرفته می‌شود. اگر دایرکتوری حاوی فایل پیکربندی ماژول‌های gconv باشد و مشخص شود که ماژول مورد نیاز برای این تبدیل در آن دایرکتوری موجود است، آن‌گاه ماژول مورد نیاز از آن دایرکتوری بارگذاری می‌شود؛ ترتیب به گونه‌ای است که اولین ماژول مناسب یافت‌شده در GCONV_PATH مورد استفاده قرار می‌گیرد. این ویژگی به کاربران امکان می‌دهد تا با قرار دادن ماژول‌های سفارشی در دایرکتوری‌های GCONV_PATH، از ماژول‌های سفارشی استفاده کرده و حتی ماژول‌های ارائه‌شده توسط سیستم را جایگزین نمایند.

/usr/lib/gconv
مسیر پیش‌فرض معمول برای ماژول‌های gconv.
/usr/lib/gconv/gconv-modules
فایل پیکربندی پیش‌فرض معمول سیستم برای ماژول‌های gconv.
/usr/lib/gconv/gconv-modules.cache
کش پیکربندی پیش‌فرض معمول سیستم برای ماژول‌های gconv.

بسته به معماری سیستم، فایل‌های بالا ممکن است در دایرکتوری‌هایی با پیشوند مسیر /usr/lib64 قرار داشته باشند.

POSIX.1-2008.

POSIX.1-2001.

تبدیل متن از کدگذاری نویسه ISO/IEC 8859-15 به UTF-8:


$ iconv -f ISO-8859-15 -t UTF-8 < input.txt > output.txt;

مثال بعدی از UTF-8 به ASCII تبدیل می‌کند و در صورت امکان نویسه‌گردانی انجام می‌دهد:


$ echo abc ß α € àḃç | iconv -f UTF-8 -t ASCII//TRANSLIT;
abc ss ? EUR abc

locale(1), uconv(1), iconv(3), nl_langinfo(3), charsets(7), iconvconfig(8)

2025-09-21 Linux man-pages 6.19