لماذا تظهر رموز غريبة في ملف CSV وكيف تصلحها
الرموز الغريبة مثل «Ã©» أو «Ð¡ÑƒÐ¼Ð°» تعني أن ملف CSV حُفظ بترميز نصي معيّن ثم فُتح كأنه بترميز آخر. الحروف ما زالت موجودة في الملف، لكنها تُفك بطريقة خاطئة. افتح الملف بالترميز الصحيح (عارض CSV يكتشفه تلقائيًا) واحفظ نسخة بترميز UTF-8. أما علامات الاستفهام («????») فأمر مختلف: غالبًا ما تعني أن الحروف ضاعت أصلًا عند كتابة الملف.
ما هو الترميز، في دقيقة واحدة
ملف CSV نص عادي، والنص على القرص مجرد سلسلة من الأرقام (البايتات). والترميز هو الجدول الذي يحدد أي رقم يقابل أي حرف. في الحروف الإنجليزية الأساسية والأرقام تتفق كل الترميزات تقريبًا، ولهذا تظهر الأرقام في كشف حسابك البنكي المُصدَّر سليمة، بينما تتحول الأسماء والأوصاف إلى رموز لا معنى لها.
هذه هي الترميزات الثلاثة التي ستصادفها في ملفات برامج المحاسبة والبنوك:
- UTF-8: المعيار الحديث. يستطيع تخزين كل الأبجديات في ملف واحد، والحروف الخارجة عن الإنجليزية الأساسية تأخذ بايتين أو أكثر لكل حرف.
- Windows-1251: ترميز قديم أحادي البايت للأبجدية السيريلية (الأوكرانية والروسية والبلغارية والصربية). ما زالت برامج محاسبة قديمة كثيرة تصدّر به.
- Windows-1252: الترميز القديم أحادي البايت للغات أوروبا الغربية: é وü وñ وø و€ وغيرها.
الملف نفسه لا يذكر عادةً الترميز الذي يستخدمه. على البرنامج الذي يفتحه أن يخمّن، وإن أخطأ التخمين ظهر لك mojibake، وهو الاسم التقني لهذا النص المشوّه.
اقرأ الرموز: ماذا يخبرك كل نمط
نوع التشوّه نفسه دليل على ما حدث.
| ما تراه | ما توقعته | ما الذي حدث |
|---|---|---|
é، ü، € |
é، ü، € | ملف UTF-8 فُتح بترميز Windows-1252 |
Сума (الكثير من Ð وÑ) |
Сума | نص سيريلي بترميز UTF-8 فُتح بترميز Windows-1252 |
Ñóìà (حروف لاتينية بعلامات) |
Сума | ملف Windows-1251 فُتح بترميز Windows-1252 |
Cafй |
Café | ملف Windows-1252 فُتح بترميز Windows-1251 |
� (معيّن أسود بداخله ?) |
أي حرف | ملف بترميز قديم فُتح بترميز UTF-8 |
???? |
أي حرف | ضاعت الحروف عند حفظ الملف |
الأزواج مثل «Ã» متبوعة بحرف آخر، أو «Ð» و«Ñ» متبوعتين بحرف آخر، هي البصمة المميزة لملف UTF-8 يُقرأ بترميز قديم: كل حرف غير إنجليزي يشغل بايتين في UTF-8، والجدول القديم يعرض كل بايت كرمز منفصل. وهذا خبر سار: لم يضع شيء، وفتح الملف بترميز UTF-8 يصلحه.
أما علامات الاستفهام العادية فخبر سيئ. تظهر عادةً عندما يحاول برنامج حفظ نص بترميز لا مكان فيه لتلك الحروف (مثل حفظ نص سيريلي بترميز Windows-1252)، فيستبدل كل حرف منها بالرمز ?. الحروف الأصلية لم تعد في الملف، ولا يستطيع أي عارض استعادتها. الحل هو التصدير من جديد من النظام المصدر، مع اختيار UTF-8 أو الترميز الإقليمي الصحيح إن كانت نافذة التصدير توفر ذلك.
علامة BOM: لماذا يخطئ Excel في قراءة UTF-8
قد يبدأ ملف UTF-8 بثلاثة بايتات غير مرئية تسمى علامة ترتيب البايتات (byte order mark أو BOM). إنها تلميح يقول: «هذا الملف بترميز UTF-8».
عند النقر المزدوج على ملف CSV، يعتمد Excel كثيرًا على هذا التلميح. مع وجود BOM يقرأ UTF-8 بشكل صحيح عادةً، ومن دونها يفترض غالبًا الترميز القديم لحاسوبك، وهكذا بالضبط يتحول ملف UTF-8 سليم تمامًا صدّره البنك إلى «Ð¡ÑƒÐ¼Ð°». وهناك برامج أخرى تتصرف بالعكس، فتعرض علامة BOM كرموز زائدة مثل  في بداية عنوان العمود الأول. إن رأيت ذلك، فالملف بترميز UTF-8 وعلامة BOM تُعرض كنص.
الحل الأول: افتحه بأداة تكتشف الترميز تلقائيًا
أسرع حل هو أن تترك أداة ما تكتشف الترميز نيابة عنك. يجرّب عارض CSV من Opener ترميز UTF-8 أولًا، ثم ينتقل إلى Windows-1251 أو Windows-1252 بحسب النص، فتظهر الأسماء والأوصاف بشكل صحيح دون معالج استيراد. كما يكتشف الفاصل: فاصلة، أو فاصلة منقوطة، أو علامة جدولة، أو خط عمودي.
يُقرأ الملف في متصفحك ولا يُرفع إلى أي مكان، وهذا مهم مع كشوف الرواتب والفواتير وكشوف الحسابات البنكية. ولإصلاح الملف من أجل البرامج الأخرى، استخدم زر التصدير: ستحصل على نسخة نظيفة من الجدول بترميز UTF-8 (للعرض الحالي، فامسح أي بحث أولًا إن أردت كل الصفوف). وإن كانت مشكلتك أن كل شيء يظهر في عمود واحد لا أن الحروف مشوّهة، فاقرأ لماذا يفتح ملف CSV في عمود واحد.
الحل الثاني: استورده في Excel مع «File origin» الصحيح
لا تنقر على الملف نقرًا مزدوجًا. بدلًا من ذلك، افتح مصنفًا فارغًا واستخدم الاستيراد عبر «From Text/CSV» في علامة التبويب «Data». في نافذة المعاينة قائمة File origin (أصل الملف) تختار منها الترميز:
- 65001: Unicode (UTF-8) للملفات التي تظهر فيها
é أو Сума؛ - خيار Cyrillic (Windows)، أي 1251، للملفات السيريلية القديمة؛
- خيار Western European (Windows)، أي 1252، لملفات أوروبا الغربية القديمة.
بدّل بينها وراقب المعاينة: لحظة ظهور الأسماء بشكل صحيح تكون قد وجدت الترميز المناسب. ثم حمّل البيانات. وإن احتجت إلى إرسال الملف لغيرك، فاحفظه من Excel بنوع الملف «CSV UTF-8» لا «CSV» العادي، الذي قد يستخدم الترميز القديم مجددًا.
الحل الثالث: Google Sheets أو LibreOffice أو محرر نصوص
Google Sheets. استيراد ملف CSV إلى Google Sheets (من قائمة «File» ثم «Import») يعمل جيدًا مع ملفات UTF-8، وتتيح لك نافذة الاستيراد اختيار الفاصل. لكنه طريق أقل موثوقية مع الملفات القديمة: إن ظل ملف Windows-1251 أو Windows-1252 يعرض حروفًا مشوّهة، فحوّله إلى UTF-8 بإحدى الطرق الأخرى واستورد تلك النسخة.
LibreOffice Calc. عند فتح ملف CSV، يعرض LibreOffice نافذة لاستيراد النص فيها قائمة Character set (مجموعة المحارف). اختر Unicode (UTF-8) أو Cyrillic (Windows-1251) أو Western Europe (Windows-1252)، وستتحدّث المعاينة فورًا. البرنامج مجاني ويعمل على Windows وmacOS وLinux.
محرر نصوص. تتيح لك محررات مثل Notepad في Windows وTextEdit في macOS ومحررات الأكواد مثل VS Code اختيار الترميز عند الحفظ. لكن هناك شرطًا: يجب أن يفتح المحرر الملف أولًا بالترميز الصحيح. إن بدا النص سليمًا في المحرر، فاحفظه بترميز UTF-8. وإن كان مشوّهًا فيه أصلًا، فالحفظ سيُبقي التشوّه كما هو، فأعد فتحه بالترميز الصحيح أولًا.
الأسئلة الشائعة
هل يمكنني إصلاح «????» في ملف CSV؟
غالبًا لا. علامات الاستفهام تعني أن الحروف استُبدلت عند كتابة الملف، فالحروف الأصلية ليست فيه. صدّر الملف من جديد من برنامج المحاسبة أو من البنك، واختر UTF-8 إن أمكن.
أي ترميز أستخدم عند الحفظ أو التصدير؟
UTF-8. فهو يخزّن كل الأبجديات، وتفهمه كل البرامج الحديثة. وإن كان زملاؤك يفتحون الملف بالنقر المزدوج في Excel، فاستخدم خيار «CSV UTF-8» في Excel ليبدأ الملف بعلامة BOM.
هل يغيّر تغيير الترميز أرقامي؟
لا. الأرقام والنقاط والفواصل متطابقة في UTF-8 وWindows-1251 وWindows-1252، فلا تتأثر المبالغ والتواريخ. لا يتغير إلا ما يقع خارج الحروف الإنجليزية الأساسية.
هل من الآمن إصلاح كشف حساب بنكي أونلاين؟
فقط إن كانت الأداة لا ترفعه. يفك عارض CSV ترميز الملف ويصدّره بالكامل داخل متصفحك، فلا يغادر كشف الحساب جهازك أبدًا.