اذهب إلى المحتوى

السؤال

نشر

عند استيراد ملف csv في جدول في قاعدة بياناتك mysql تظهر البيانات النصية المكتوبة باللغة العربية على أنها علامات استفهام، ماهو السبب في ذلك؟ 

كما أن نظام التشغيل باللغة العربية فهل من الممكن أن يكون هو السبب

Recommended Posts

  • 0
نشر
بتاريخ 1 دقيقة مضت قال Mustafa Suleiman:

يجب تحديد الترميز على أنه UTF8 عند الاستيراد، لكن ما هي الطريقة التي تقوم بالاستيراد من خلالها؟ هل من خلال الواجهة أم من خلال استعلام SQL؟

نعم الترميز محدد على أنه UTF8 

الاستيراد من خلال الواجهة

  • 0
نشر

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

لكن عند استيراد الملف CSV إلى MySQL، تأكد من تحديد الترميز المناسب. يمكنك استخدام الأمر التالي:

LOAD DATA INFILE 'file.csv' INTO TABLE table_name CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

يجب عليك التأكد من أن ترميز الحروف للجدول في قاعدة البيانات MySQL معين بشكل صحيح.

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

وقبل استيراد الملف CSV، استخدم أمر SET NAMES لتعيين الترميز المناسب.

SET NAMES 'utf8';

وهذا مثال لأشرح لك بشكل مبسط أكثر، لنفترض أن لدينا ملف CSV يُدعى `data.csv` ويحتوي على البيانات التالية:

"اسم","عمر"
"ياسر",25
"مسكين",30

ونريد استيراده إلى جدول يُدعى `users` في قاعدة البيانات نستخدم هذه الأوامر:

SET NAMES 'utf8';

LOAD DATA INFILE 'data.csv' INTO TABLE users CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

ALTER TABLE users CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

بهذا، يجب أن يتم استيراد البيانات العربية بشكل صحيح دون أي مشاكل في الترميز.

  • 0
نشر
بتاريخ 5 دقائق مضت قال ياسر مسكين:

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

لكن عند استيراد الملف CSV إلى MySQL، تأكد من تحديد الترميز المناسب. يمكنك استخدام الأمر التالي:

LOAD DATA INFILE 'file.csv' INTO TABLE table_name CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

يجب عليك التأكد من أن ترميز الحروف للجدول في قاعدة البيانات MySQL معين بشكل صحيح.

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

وقبل استيراد الملف CSV، استخدم أمر SET NAMES لتعيين الترميز المناسب.

SET NAMES 'utf8';

وهذا مثال لأشرح لك بشكل مبسط أكثر، لنفترض أن لدينا ملف CSV يُدعى `data.csv` ويحتوي على البيانات التالية:

"اسم","عمر"
"ياسر",25
"مسكين",30

ونريد استيراده إلى جدول يُدعى `users` في قاعدة البيانات نستخدم هذه الأوامر:

SET NAMES 'utf8';

LOAD DATA INFILE 'data.csv' INTO TABLE users CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

ALTER TABLE users CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

بهذا، يجب أن يتم استيراد البيانات العربية بشكل صحيح دون أي مشاكل في الترميز.

كيف اتحقق من ترميز الملف بال notepad++

  • 0
نشر
بتاريخ 12 دقائق مضت قال Soluk Gulumseme:

كيف اتحقق من ترميز الملف بال notepad++

للتحقق من ترميز الملف باستخدام Notepad++، يمكنك البدء من خلال:

فتح الملف في Notepad++:

  •    انقر بزر الماوس الأيمن على الملف.
  •    اختر "افتح باستخدام" (Open with).
  •    اختر Notepad++ من القائمة.

مثلما هو موضح في الصورة:

Capturedcran2024-03-02132750.thumb.png.a639af2f0799ccbb45322a37da85505c.png

ثم التأكد من ترميز الحروف:

  •   انتقل إلى قائمة "تشفير" (Encoding) في شريط القوائم.
  •   ستظهر لك قائمة بخيارات الترميز المتاحة.
  •   اختر الخيار الذي تشتبه فيه، مثل "UTF-8" أو "UTF-8 without BOM" لملفات UTF-8.

Capturedcran2024-03-02133403.thumb.png.e0a14fe1a75f5081c954064ff08415c5.png

بعد اختيار الترميز المناسب، يمكنك التحقق من النصوص في الملف.

  • 0
نشر
بتاريخ 26 دقائق مضت قال Soluk Gulumseme:

نعم الترميز محدد على أنه UTF8 

الاستيراد من خلال الواجهة

أثناء الاستيراد هل حددت الترميز كالتالي؟

Snag_2dc7c6b.thumb.png.fd517eec3a82a14640a01ed3a6338ebf.png

في حال قمت بذلك تأكد من أنّ قاعدة البيانات الترميز الخاص بها هو UTF8 من خلال الضغط على status and system variables من الجانب الأيسر.

ثم في خانة البحث ابحث عن Collation وتأكد من أن الترميز بالكامل هو utf8 أيضًا ابحث عن character ثم تأكد من نفس الترميز.

  • 0
نشر
بتاريخ 9 دقائق مضت قال Mustafa Suleiman:

أثناء الاستيراد هل حددت الترميز كالتالي؟

Snag_2dc7c6b.thumb.png.fd517eec3a82a14640a01ed3a6338ebf.png

في حال قمت بذلك تأكد من أنّ قاعدة البيانات الترميز الخاص بها هو UTF8 من خلال الضغط على status and system variables من الجانب الأيسر.

ثم في خانة البحث ابحث عن Collation وتأكد من أن الترميز بالكامل هو utf8 أيضًا ابحث عن character ثم تأكد من نفس الترميز.

نعم فعلت كل ذلك ولكنه مازل يظهر البيانات على انها علامة استفهام 

  • 0
نشر
بتاريخ 41 دقائق مضت قال ياسر مسكين:

للتحقق من ترميز الملف باستخدام Notepad++، يمكنك البدء من خلال:

فتح الملف في Notepad++:

  •    انقر بزر الماوس الأيمن على الملف.
  •    اختر "افتح باستخدام" (Open with).
  •    اختر Notepad++ من القائمة.

مثلما هو موضح في الصورة:

Capturedcran2024-03-02132750.thumb.png.a639af2f0799ccbb45322a37da85505c.png

ثم التأكد من ترميز الحروف:

  •   انتقل إلى قائمة "تشفير" (Encoding) في شريط القوائم.
  •   ستظهر لك قائمة بخيارات الترميز المتاحة.
  •   اختر الخيار الذي تشتبه فيه، مثل "UTF-8" أو "UTF-8 without BOM" لملفات UTF-8.

Capturedcran2024-03-02133403.thumb.png.e0a14fe1a75f5081c954064ff08415c5.png

بعد اختيار الترميز المناسب، يمكنك التحقق من النصوص في الملف.

قمت بالتحقق من الترميز ومن ثم تنفيذ الاستيراد بالأمر الذي أعطيتني إياه ولكنه لم يتغير

  • 0
نشر
بتاريخ 40 دقائق مضت قال Soluk Gulumseme:

نعم فعلت كل ذلك ولكنه مازل يظهر البيانات على انها علامة استفهام 

حاول تنفيذ الاستعلام التالي لتحويل قاعدة البيانات إلى UTF8:

ALTER DATABASE db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

  • 0
نشر
بتاريخ 3 ساعة قال Mustafa Suleiman:

حاول تنفيذ الاستعلام التالي لتحويل قاعدة البيانات إلى UTF8:

ALTER DATABASE db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

نفذت الاستعلام ومن ثم قمت بالاستيراد ولكنه أخفى البيانات تماماً

لقد جربت عدة طرق منذ مدة ولكن البيانات لا تظهر صحيحة في جهازي بينما جربها آخر بنفس الطريقة في جهازة وقام باستيرادها بشكل صحيح 

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

  • 0
نشر
بتاريخ 6 دقائق مضت قال Soluk Gulumseme:

نفذت الاستعلام ومن ثم قمت بالاستيراد ولكنه أخفى البيانات تماماً

لقد جربت عدة طرق منذ مدة ولكن البيانات لا تظهر صحيحة في جهازي بينما جربها آخر بنفس الطريقة في جهازة وقام باستيرادها بشكل صحيح 

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

نعم قد يكون ذلك هو السبب، يمكنك اتباع هذه الخطوات للتأكد:

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

خلاف ذلك ممكن أن يكون السبب وراء ذلك عدم تحديد ترميز النصوص في برنامج إدارة قاعدة البيانات ففي بعض الحالات، يجب تعيين الترميز بشكل صحيح في البرنامج نفسه.

يمكنك تجربة استخدام أمر SET NAMES: قبل استيراد البيانات إلى قاعدة البيانات، جرب استخدام أمر SET NAMES لتعيين الترميز المناسب، من خلال هذا الأمر:

SET NAMES 'utf8mb4';

استخدام أمر CHARSET في الاستيراد فعند استيراد الملف إلى قاعدة البيانات، جرب استخدام أمر CHARSET مع تعيين الترميز المطلوب، من خلال:

LOAD DATA INFILE 'file.csv' INTO TABLE table_name CHARACTER SET utf8mb4 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

هكذا سيتمكن نظام التشغيل الخاص بك من عرض البيانات بشكل صحيح بعد التحويل إلى UTF-8.

  • 0
نشر
بتاريخ 18 ساعة قال ياسر مسكين:

نعم قد يكون ذلك هو السبب، يمكنك اتباع هذه الخطوات للتأكد:

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

خلاف ذلك ممكن أن يكون السبب وراء ذلك عدم تحديد ترميز النصوص في برنامج إدارة قاعدة البيانات ففي بعض الحالات، يجب تعيين الترميز بشكل صحيح في البرنامج نفسه.

يمكنك تجربة استخدام أمر SET NAMES: قبل استيراد البيانات إلى قاعدة البيانات، جرب استخدام أمر SET NAMES لتعيين الترميز المناسب، من خلال هذا الأمر:

SET NAMES 'utf8mb4';

استخدام أمر CHARSET في الاستيراد فعند استيراد الملف إلى قاعدة البيانات، جرب استخدام أمر CHARSET مع تعيين الترميز المطلوب، من خلال:

LOAD DATA INFILE 'file.csv' INTO TABLE table_name CHARACTER SET utf8mb4 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

هكذا سيتمكن نظام التشغيل الخاص بك من عرض البيانات بشكل صحيح بعد التحويل إلى UTF-8.

قمت بتغيير ترميز نظام التشغيل ومن ثم استيراد البيانات كما قلت تماماً ولكنها إما تختفي أو تظهر كحروف ورموز انجليزيه 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...