کدگذاری دوباره: رفع متن فارسی که شبیه ط·آ³ط¸â€‍ط·آ§ط¸â€¦ شده

اگر به‌جای فارسی دنباله‌های بلندی مثل ط·آ³ط¸â€‍ط·آ§ط¸â€¦ می‌بینید، متن یک بار نه، دو بار خراب شده است. Mojibuster هر دو مرحله را برمی‌گرداند، حتی اگر فقط بخشی از متن خراب باشد.

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

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

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

اصلاح

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

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

کدگذاری دوباره چه شکلی دارد

جمله‌ای که دو بار با کدگذاری اشتباه خوانده شده

قبل

ط·آ³ط¸â€‍ط·آ§ط¸â€¦ ط·آ¯ط¸ث†ط·آ³ط·ع¾ ط¸â€¦ط¸â€ ط·إ’ ط·آ³ط¸ظ¾ط·آ§ط·آ±ط·آ´ ط·آ´ط¸â€¦ط·آ§ ط·آ§ط¸â€¦ط·آ±ط¸ث†ط·آ² ط·آ§ط·آ±ط·آ³ط·آ§ط¸â€‍ ط·آ´ط·آ¯

بعد

سلام دوست من، سفارش شما امروز ارسال شد

چطور پیش می‌آید

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

دلایل رایج دور دوم خرابی:

  • پایگاه داده به سرور جدید منتقل می‌شود و خروجی MySQL یا WordPress از قبل خراب بوده است.
  • فایل CSV در اکسل باز و ذخیره می‌شود و بعداً دوباره با کدگذاری اشتباه وارد می‌شود – فارسی به‌هم‌ریخته در اکسل را ببینید.
  • اسکریپت، API یا افزونه‌ای متنی را تبدیل می‌کند که از قبل UTF-8 است.

رایج‌ترین حالت‌ها یک‌جا

کدگذاری دوباره

ط·آ§
ط·آ¨
ط¸آ¾
ط·ع¾
ط·آ±
ط¹آ©

درست

ا
ب
پ
ت
ر
ک

در کدگذاری سه‌باره رشته باز هم بلندتر می‌شود. Mojibuster این سطح را هم خودکار درست می‌کند، تا سه سطح.

چرا جستجو و جایگزینی کافی نیست

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

  1. متن را در کادر بالا بچسبانید یا فایل را بکشید و رها کنید.
  2. Mojibuster تشخیص می‌دهد متن چند بار خراب شده و تا سه سطح را درست می‌کند.
  3. زیر چه چیزی تغییر کرد؟ همهٔ جاهای اصلاح‌شده را می‌بینید. سپس نتیجه را کپی کنید یا فایل را دانلود کنید.

متن درست دست‌نخورده می‌ماند، حتی اگر در یک فایل خط‌های سالم و خراب با هم باشند. خرابی تک‌سطحی مثل ط³ظ„ط§ظ… در موجیباکه چیست توضیح داده شده است.

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

از کجا بفهمم کدگذاری دوباره است؟

از دنباله‌های بلند با ط·آ و ط¸â€. خرابی تک‌سطحی کوتاه‌تر است، مثل ط³ظ„ط§ظ…. اگر پس از اولین اصلاح هنوز نویسه‌های خراب مانده، سطح‌ها بیشتر بوده‌اند.

Mojibuster تا چند سطح را درست می‌کند؟

تا سه سطح. بیشتر از آن در عمل تقریباً هرگز پیش نمی‌آید.

اگر فقط بخشی از متن دوباره کدگذاری شده باشد چه؟

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

می‌توانم قبل از کپی نتیجه را بررسی کنم؟

بله. زیر چه چیزی تغییر کرد؟ Mojibuster هر جای اصلاح‌شده را با شمارهٔ خط نشان می‌دهد، پیش از آن‌که کپی یا دانلود کنید.

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