پرش به محتوا

موجیباکه

از ویکی‌پدیا، دانشنامهٔ آزاد
مقالهٔ ویکی‌پدیای ژاپنی دربارهٔ موجیباکه که با کدبندی یوتی‌اف-۸ نوشته شده، اما با کدبندی ویندوز-۱۲۵۲ تفسیر و نمایش داده شده است.
موجیباکهٔ ایجادشده بر اثر تفسیر نادرست عنوان سیریلیک یک ترانه در دستگاه پخش صوت خودرو

موجیباکه (به ژاپنی: 文字化け) (IPA: [mod͡ʑibake]) اصطلاحی ژاپنی در حوزهٔ بین‌المللی‌سازی و محلی‌سازی است که به نمایش نادرست، ناخوانا یا بی‌معنای نویسه‌های یک متن در اثر تفسیر آن با کدبندی نویسهٔ نادرست گفته می‌شود. این پدیده معمولاً زمانی رخ می‌دهد که دادهٔ متنی با یک کدبندی مشخص ذخیره یا ارسال شده باشد، اما برنامهٔ دریافت‌کننده آن را با کدبندی دیگری تفسیر کند.

برای نمونه، اگر متنی با یوتی‌اف-۸ کدگذاری شده باشد اما برنامه‌ای آن را به اشتباه به‌صورت ویندوز-۱۲۵۲ تفسیر کند، ممکن است نویسه‌های اصلی به مجموعه‌ای از نویسه‌های نامفهوم تبدیل شوند. در چنین حالتی، دادهٔ اصلی لزوماً از بین نرفته است و در صورت تشخیص کدبندی صحیح، متن ممکن است دوباره به شکل اصلی خود بازگردانده شود.

یونی‌کد و کدبندی‌های مبتنی بر آن، به‌ویژه یوتی‌اف-۸، امکان نمایش طیف گسترده‌ای از نویسه‌های زبان‌های مختلف را فراهم می‌کنند و استفادهٔ صحیح از آن‌ها می‌تواند از بسیاری از موارد موجیباکه جلوگیری کند.[۱]

در سامانه‌هایی که از یونی‌کد استفاده نمی‌کنند، یا در مواردی که سازگاری با کدبندی‌های قدیمی ضروری است، باید کدبندی مورد استفاده به‌درستی مشخص و در تمام مراحل ذخیره‌سازی، انتقال و پردازش داده حفظ شود. مشخص نبودن یا تشخیص نادرست کدبندی می‌تواند موجب ایجاد موجیباکه شود.[۲]

هر کدبندی نویسه روش مشخصی برای تبدیل نویسه‌ها به دادهٔ قابل ذخیره یا انتقال و بازگرداندن آن داده‌ها به نویسه‌های متنی دارد. اگر داده‌ها با کدبندی‌ متفاوت از کدبندی مورد انتظار برنامه تفسیر شوند، توالی بایت‌ها ممکن است به نویسه‌های دیگری نگاشت شود. نتیجهٔ این فرایند می‌تواند متنی ناخوانا یا بی‌معنا باشد که به آن موجیباکه گفته می‌شود.

این مشکل به‌ویژه هنگام انتقال داده میان سامانه‌هایی که از کدبندی‌های متفاوت استفاده می‌کنند، در نرم‌افزارهای قدیمی، پایگاه‌های داده، فایل‌های متنی و ارتباطات اینترنتی دیده می‌شود.

یکی از نمونه‌های رایج موجیباکه، تفسیر متن یوتی‌اف-۸ با کدبندی‌های تک‌بایتی مانند ویندوز-۱۲۵۲ است. در این حالت، یک نویسهٔ چند بایتی UTF-8 ممکن است به چند نویسهٔ مستقل در کدبندی مقصد تبدیل شود و متنی نامفهوم ایجاد کند.

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

جستارهای وابسته

[ویرایش | اشتراک‌گذاری]
  1. ↑ Paul Hastings (۱۳ آوریل ۲۰۰۴). «Do You Want Coffee with That Mojibake?». ColdFusion. بایگانی‌شده از اصلی در ۱۲ سپتامبر ۲۰۱۳.{{cite web}}: نگهداری یادکرد:تاریخ به‌طور خودکار ترجمه‌شده (رده)
  2. ↑ John de Hoog. «Avoiding Mojibake». Nora Stevens Heath. دریافت‌شده در ۲۳ اوت ۲۰۱۳.{{cite web}}: نگهداری یادکرد:تاریخ به‌طور خودکار ترجمه‌شده (رده)