مدونة Metlivi

كيفية تشخيص الرموز التعبيرية المشوهة في ملف يوميات مُصدَّر

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

29 سبتمبر 20265 دقائق للقراءةالجماليات اليومية والتعبير عن الذاتبقلم Metlivi Editorial Team
القسم 1

التعرف على شكل النص «المشوه»

انظر بعناية إلى أحد الإدخالات المتأثرة. يمكن أن تشير سلسلة من الأحرف غير المتوقعة مثل `😀` في المكان الذي ينتمي إليه 😀 إلى أنه تم تفسير بايتات UTF-8 باستخدام ترميز مختلف. يُطلق على هذا عادةً اسم موجيباكي (mojibake): الأحرف المعروضة خاطئة لأنه تم فك ترميز البايتات بموجب افتراضات خاطئة. إنها مجرد دلالة، وليست دليلاً قاطعاً على الترميز الذي أنشأ الملف.

أما ظهور `` بشكل مرئي فهو أمر مختلف. هذا هو U+FFFD، حرف الاستبدال في Unicode، ويُستخدم كبديل لحرف لا يمكن تفسيره. يميز [مسرد المصطلحات](https://www.unicode.org/glossary/#replacement_character) الخاص بـ Unicode بينه وبين الرمز الرسومي البديل: قد يعرض الخط أو أداة العرض مربعاً عندما يتعذر عليه رسم حرف ما، في حين قد يظل الحرف الأساسي سليماً. إذا ظهرت بعض الرموز التعبيرية فقط كمربعات، فتحقق من تطبيق أو خط حديث آخر قبل تغيير ترميز الملف.

القسم 2

الاحتفاظ بنسخة مرجعية أساسية قبل استكشاف الأخطاء وإصلاحها

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

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

القسم 3

اختبار فك الترميز دون إعادة الكتابة

عندما يؤدي تغيير طريقة عرض الترميز في المحرر إلى تحويل التسلسل الغريب إلى الرمز التعبيري المتوقع ويصبح النص المحيط به مقروءاً أيضاً، فقد يحتوي التصدير على بايتات سليمة تم تفسيرها بشكل غير صحيح. تأكد من ذلك عن طريق إغلاق النسخة دون حفظ وإعادة فتحها بالإعداد الواعد. ثم تحقق مما إذا كان سير عمل الاستيراد أو الفتح في تطبيق اليوميات يوفر خيار ترميز موثق؛ وفضّل سير العمل هذا لأي عملية إعادة استيراد فعلية.

توضح [الأسئلة الشائعة حول Unicode UTF](https://www.unicode.org/faq/utf_bom.html) أن تسلسلات بايتات UTF-8 غير المشكلة بشكل صحيح قد تؤدي إلى حدوث خطأ أو تتم معالجتها باستخدام علامة مثل U+FFFD. وهذا يعني أن أداة فك الترميز ربما تكون قد استبدلت بالفعل الإدخال غير الصالح عند عرضه أو استيراده. ولن يؤدي تبديل الترميز بعد تلك الخطوة بالضرورة إلى استعادة البايتات الأصلية. لا تستخدم خيارات «الإصلاح» أو التحويل التي تستبدل بصمت الأحرف غير القابلة لفك الترميز في نسختك الوحيدة.

القسم 4

الفصل بين مشكلات الترميز والرموز الرسومية المفقودة

إذا ظهر الرمز التعبيري بشكل صحيح في برنامج عرض آخر، فاحتفظ بهذه المقارنة كدليل قبل تغيير الملف. تجنب إعادة كتابة التصدير لمجرد تغيير مظهره.

إذا كان الموضع نفسه يحتوي على U+FFFD أو علامة استفهام صريحة عبر برامج عرض متعددة، فقارنه باليوميات المصدر أو بتصدير سابق. لا يمكن استعادة البديل المخزن في الملف عن طريق تغيير الخط؛ بل يعتمد الاسترداد على وجود نسخة أخرى تحتفظ بالحرف الأصلي.

القسم 5

التعامل مع CSV وJSON كمساري استيراد مختلفين

لا يخبرك الامتداد `.csv` بترميز الأحرف الذي تم استخدامه، وقد تطبق برامج جداول البيانات إعدادات الاستيراد الخاصة بها. بالنسبة لتطبيق Excel على سطح المكتب، توثق Microsoft استيراد النص من خلال **البيانات > من نص/CSV** ومعالج استيراد النص في [دليل استيراد/تصدير النصوص وملفات CSV](https://support.microsoft.com/en-us/excel/get-started/import-or-export-text-txt-or-csv-files). استخدم المعاينة قبل التحميل: تحقق من الرموز التعبيرية، وحدود الصفوف والأعمدة، والنص المجاور. المعاينة الصحيحة هي دليل على أن مسار الاستيراد المحدد يقرأ الملف كما هو مقصود؛ وليست سبباً للكتابة فوق المصدر.

بالنسبة لملفات JSON، احتفظ بالملف واستخدم أداة استيراد تدرك بنية JSON بدلاً من التعامل معه كملف CSV. تتطلب [مواصفة RFC 8259 JSON](https://www.rfc-editor.org/rfc/rfc8259#section-8.1) استخدام UTF-8 لملفات JSON المتبادلة بين الأنظمة خارج بيئة مغلقة. كما توضح أيضاً أن سلاسل JSON يمكن أن تمثل الأحرف مباشرة أو باستخدام رموز الهروب (escapes). إن رؤية رمز هروب مثل `\u263A` لا يُعد تلفاً تلقائياً؛ إذ يجب على أداة تحليل JSON تفسير رموز الهروب الصالحة. إذا كان ملف JSON غير صالح أو أبلغت أداة الاستيراد عن خطأ في التحليل، فتوقف واحتفظ بالملف كما هو تماماً بدلاً من تعديل علامات الترقيم أو البايتات بالتخمين.

القسم 6

تحديد ما إذا كان يجب إعادة المحاولة، أو إعادة التصدير، أو التوقف

اتبع هذا التسلسل: (1) قارن اليوميات المصدر بالملف المُصدَّر؛ (2) افحص نسخة مكررة باستخدام الترميز المتوقع وعرض UTF-8 إذا كان ذلك مناسباً؛ (3) تحقق من برنامج عرض آخر لمعرفة ما إذا كان السلوك ناتجاً عن فقدان الرمز الرسومي؛ (4) عاين الملف من خلال أداة استيراد CSV أو JSON الصحيحة؛ و(5) أعد محاولة التصدير باستخدام ترميز نصي موثق إذا كان المصدر لا يزال يعرض الرمز التعبيري بشكل صحيح. غيّر متغيراً واحداً في كل مرة واحتفظ بكل نتيجة على حدة.

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

قراءات ذات صلة

متابعة استكشاف الموضوع