رفع مشکل کدگذاری فارسی در Notepad++

Notepad++ به جای فارسی ط¹ظ„غŒ یا مربع‌های سیاه کوچک نشان می‌دهد؟ پس کدگذاری انتخاب‌شده با فایل نمی‌خواند. معمولاً دو گزینه منو مشکل را حل می‌کند – اگر بدانید کدام را لازم دارید.

با متن و این فایل‌ها کار می‌کند:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

مثل خروجی اکسل، نسخه پشتیبان پایگاه داده، زیرنویس و کد وب‌سایت.

اصلاح

  1. فایل را بکشید یا متن را بچسبانید
  2. اصلاح خودکار انجام می‌شود
  3. نتیجه را کپی یا دانلود کنید
یا فایل را اینجا بکشید
  • بدون آپلود. فایل‌ها مستقیم داخل مرورگر شما اصلاح می‌شوند و هرگز از دستگاهتان خارج نمی‌شوند.

  • سرور در اتحادیه اروپا. Mojibuster روی سروری در فنلاند (اتحادیه اروپا) اجرا می‌شود؛ بنابراین مقررات عمومی حفاظت از داده‌ها (GDPR) برقرار است. متن مقررات (EUR-Lex، به انگلیسی)

اول کدگذاری را بررسی کنید

پایین سمت راست نوار وضعیت، Notepad++ نشان می‌دهد فایل را الان چگونه می‌خواند، مثل UTF-8، UTF-8-BOM یا ANSI. منوی کدگذاری (Encoding) دو نوع گزینه دارد که زیاد با هم اشتباه می‌شوند:

  • ANSI، UTF-8، UTF-8-BOM (بالای منو): Notepad++ بایت‌های موجود را دوباره می‌خواند و فایل را تغییر نمی‌دهد – فقط تنظیم نمایش.
  • Convert to ANSI، Convert to UTF-8 … (پایین منو): Notepad++ نویسه‌ها را با کدگذاری جدید می‌نویسد. ذخیره کردن فایل را تغییر می‌دهد.

حالت ۱: نویسه‌های عجیب مثل ط¹ به جای ع

فایل UTF-8 ذخیره شده ولی Notepad++ آن را ANSI می‌خواند. Encoding و بعد UTF-8 را بزنید؛ نویسه‌ها بلافاصله درست دیده می‌شوند. تبدیل نکنید: «Convert to UTF-8» همان نویسه‌های خراب را به‌عنوان نویسه واقعی ذخیره می‌کند.

حالت ۲: مربع یا علامت سؤال به جای فارسی

فایل با Windows-1256 (ANSI فارسی) ذخیره شده ولی UTF-8 خوانده می‌شود. اول Encoding و Character sets و Arabic و Windows-1256 را بزنید تا نویسه‌ها درست دیده شوند، بعد Convert to UTF-8. پس از ذخیره، فایل UTF-8 است. درباره این کدگذاری در تبدیل Windows-1256 به UTF-8 بخوانید.

حالت ۳: خرابی واقعاً در خود فایل است

اگر با UTF-8 باز هم نویسه‌های عجیب می‌بینید، متن خراب از قبل ذخیره شده است. آن‌وقت هیچ گزینه منو قابل‌اعتماد نیست – به‌خصوص وقتی خط‌های سالم و خراب مخلوطند یا متن دو بار کدگذاری شده. فایل را در Mojibuster بالا رها کنید: فقط جاهای خراب را درست می‌کند و هر تغییر را نشان می‌دهد.

فایلی که خطا در آن ذخیره شده است

قبل

طھط±ط¬ظ…ظ‡ ط¨ط±ط±ط³غŒ ط´ط¯: ظ…ط¯ط±ط³ظ‡طŒ ع©طھط§ط¨طŒ ظ¾غŒط´ظ†ظ‡ط§ط¯طŒ طھظ‡ط±ط§ظ† – ظ‡ظ…ظ‡ ط¯ط±ط³طھ ط§ط³طھ.

بعد

ترجمه بررسی شد: مدرسه، کتاب، پیشنهاد، تهران – همه درست است.

فایل‌های جدید را همیشه UTF-8 بسازید

در Settings و Preferences و New Document کدگذاری فایل‌های جدید را روی UTF-8 بگذارید. برای فایل‌هایی که اکسل باید باز کند، UTF-8-BOM بهتر است – بیشتر در اکسل و CSV: فارسی به‌هم‌ریخته. اسکریپت‌های Windows PowerShell 5.1 هم BOM می‌خواهند، PowerShell را ببینید.

پرسش‌های متداول

تفاوت UTF-8 و UTF-8-BOM چیست؟

هر دو نویسه‌ها را یک‌جور ذخیره می‌کنند. UTF-8-BOM در ابتدای فایل سه بایت نامرئی هم می‌نویسد که اکسل و برنامه‌های قدیمی از آن UTF-8 را می‌شناسند.

چرا Notepad++ گاهی کدگذاری را غلط تشخیص می‌دهد؟

فایل‌های بدون BOM اطلاعاتی درباره کدگذاری خود ندارند و Notepad++ باید حدس بزند. با فایل کوتاه و نویسه‌های خاص کم، بیشتر اشتباه می‌کند.

می‌توانم چند فایل را یک‌جا تبدیل کنم؟

در Notepad++ فقط با ماکرو یا افزونه. در Mojibuster یکی‌یکی – هر فایل در چند ثانیه آماده است.

راهنماهای دیگر