إصلاح ترميز النصوص

استعد نصًّا شوّهه الترميز الخطأ — فوضى é وØ£ التي تنتجها تصديرات CSV.

تتم المعالجة على جهازك — بلا رفع

termiva fix-encoding data.csv
ما الذي حدث
0 حرفًا

الصق النص المشوّه. تظهر النسخة المُصلَحة هنا، مع تسمية ما الذي حدث.

الوضع إصلاح التشويهالمكتشَف تغيّر لا شيء مرفوع

كيف تصلح ترميز نصّ

  1. الصق النص المشوّه، أو اختر الملف الأصلي.
  2. اختر أي نوع من التلف هو.
  3. قارن الصندوقين، ثم نزّل النص المُصلَح.

كيف يعمل

الحروف المشوّهة نصّ كُتب بترميز UTF-8 ثم قُرئ كأنه ترميز أحادي البايت. والبايتات سليمة؛ والتفسير وحده كان خاطئًا. ولهذا يمكن إصلاحه أصلًا — فلم يضع شيء، بل أُسيئت قراءته فحسب.

والإصلاح يعكس الخطأ. فيُعاد كل محرف إلى البايت الذي كان يمثّله، ثم تُفكّ تلك البايتات بترميز UTF-8 فكًّا سليمًا. فتصير Café هي Café؛ وتصير أحمد هي أحمد.

والضمانات أهمّ من الحساب. فيجري فكّ الترميز في الوضع الصارم، فتتابع بايتات غير صالح يرمي خطأً بدل أن ينتج محارف استبدال تبدو إصلاحًا ناجحًا. والنص الذي فيه محرف ما كان ليأتي من فكّ ترميز أحادي البايت يُعرَف على أنه ليس مشوّهًا أصلًا ويُعاد بلا مسّ — فإصلاح نصّ سليم كان سيدمّره.

والوضع الثاني يعالج إخفاقًا مختلفًا: ملف هو فعلًا بترميز قديم مثل Windows-1256، قُرئ على أنه UTF-8. وذلك يحتاج البايتات الأصلية لا نصًّا ملصوقًا، ولهذا يطلب الملف.

مثال عملي

يرسل إليك زميل ملف CSV بعملاء وكل اسم عربي فيه جدار من Ø وÙ. اضغط حمّل عيّنة مكسورة لتراه.

يقرأ سطر الحالة detected: mojibake ويعرض صندوق الإصلاح الأسماء الحقيقية. فـأحمد ناصر كانت دائمًا أحمد ناصر — فكل بايت كان صحيحًا، وشيء في الطريق قرأها بجدول خاطئ.

والسطر الفرنسي في العيّنة يعرض الأثر الشائع الآخر: تصير l’avance هي l’avance. وتلك ’ فاصلة عليا ذكية، تعيش في نطاق Windows-1252 وتحتاج ربطها الخاصّ — فالإصلاح الذي لا يعالج إلا Latin-1 يتركها خلفه.

والآن اختبر الضمانة. الصق عربية صحيحة — أحمد — فتبلّغ الأداة أنها لم تجد نمط تشويه وتتركها وشأنها. فالإصلاح المطبَّق بلا تمييز على نصّ سليم يحوّله إلى فوضى، ولا تراجع بعد أن تحفظ فوق الأصل.

ومن أين يأتي هذا عادةً: إكسل يحفظ ملف CSV بلا علامة ترتيب بايتات، أو عميل بريد يخمّن خطأً، أو نظام أقدم يعود افتراضيًا إلى Windows-1256 للعربية. والتصدير إلى ‎.xlsx‎ بدل CSV يتفاداه كليًا، لأن الصيغة تعلن ترميزها بدل أن تترك القارئ يخمّن.

أسئلة

كيف أصلح حروفًا مشوّهة مثل أحمد؟

تلك UTF-8 قُرئت على أنها Windows-1252. والأداة تعكس سوء القراءة وتعيد النص الأصلي، عربيًا كان أم فرنسيًا أم إيموجي.

ما التشويه الترميزي؟

نصّ كُتب بترميز وقُرئ بآخر. والبايتات تنجو سليمة؛ والتفسير وحده خاطئ، ولهذا يمكن عكسه.

هل يُرفع ملفّي؟

لا. يجري الإصلاح في متصفّحك، وهذا يهمّ لأن الملفات المتأثّرة تكون عادةً تصديرات عملاء.

لماذا تظهر é بدل é؟

لأن é في UTF-8 بايتان، وقراءتهما على أنهما Windows-1252 تعطي محرفين منفصلين: Ã و©.

لماذا العربية مليئة بـØ وÙ؟

السبب نفسه. فالحروف العربية بايتان في UTF-8، والبايت الأول لمعظمها يقع حيث تجلس Ø وÙ في Windows-1252.

هل سيُتلف نصًّا صحيحًا أصلًا؟

لا. فالنص الذي فيه محارف ما كانت لتأتي من فكّ ترميز أحادي البايت يُعرَف نظيفًا ويُعاد بلا مسّ.

ماذا لو لم ينجح الإصلاح؟

جرّب الوضع الثاني بالملف الأصلي. فإن كان الملف فعلًا بترميز قديم لا UTF-8 أُسيء فكّه، فالبايتات تحتاج إعادة قراءة لا عكسًا.

ما سبب هذا من الأساس؟

عادةً إكسل يحفظ CSV بلا علامة ترتيب بايتات، أو عميل بريد يخمّن الترميز، أو نظام أقدم يعود افتراضيًا إلى صفحة ترميز إقليمية.

كيف أمنع تكراره؟

استعمل ‎.xlsx‎ بدل CSV حيثما استطعت — فهو يعلن ترميزه داخليًا. وإن كان لا بدّ من CSV، فتأكّد أن الملف يبدأ بعلامة ترتيب بايتات لـUTF-8.

هل إصلاح ترميز النصوص مجاني على الإنترنت؟

نعم — مجاني، بلا حساب، وبلا حد يومي، وبلا علامة مائية. يعمل في متصفّحك عبر الإنترنت، ولأن المعالجة تجري على جهازك فإنه يستمر في العمل دون اتصال بعد تحميل الصفحة.

للقراءة