الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ترميز غريب غير قابل للتحول إلى Utf8

بدأه Life في 3 أغسطس 2009 · 2 رد · 1,586 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم.

أرجو مساعدتي في معرفة ما هو الترميز المرفق في الصورة.

في phpmyadmin يظهر على أنه latin1 Swedish وبرموز غريبة.

وعند العرض يظهر في موقعي بشكل طبيعي ومقروء وبترميز windows 1256.

نبذة عن الوضع:

موقعي يستخدم نظام جملة بالنسخة القديمة Joomla 1.0.15) ولكن هذا الجدول يتبع أحد ال components الإضافية الخاصة بهذا النظام.

طبعا تعلمون أن نظام "جملة" الآن انتقل إلى النسخة 1.5 ومن التغييرات التي حدثت هو تغيير الترميز إلى UTF8. وقد وضع القائمون على جملة بريمجا لتهجيز الجداول الأساسية لجملة إلى UTF8. وتمكنت من إداء هذه الخظوة وبسلام ولله الحمد.

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

الآن:

أحتاج أن أعرف ما هو الترميز بالضبط كي أتمكن من تحويله، لأني جربت أكثر من سكريبت تحويل إلى UTF ولم ينفع!

جربت أيضا هذه الأسطر عبر phpmyadmin واتحول إلى أشكال غريبة:

ALTER TABLE `table1` CHANGE `field1` `field1` mediumtext  CHARACTER SET latin1 NOT NULL;
ALTER TABLE `table1` CHANGE `field1` `field1` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

وجربت هذا أيضا:

ALTER TABLE `table1` CHANGE `field1` `field1` mediumtext  CHARACTER SET cp1256 NOT NULL;
ALTER TABLE `table1` CHANGE `field1` `field1` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

أريد طريقة أحول بها النص إلى ترميز UTF8 سليم، تمهيدا لنقله إلى النظام الجديد إن شاء الله.

وجزاكم الله خيرا.

post-18364-1249312671_thumb.jpg

#2

وعليكــم السـلام ورحمة الله وبركاتـه..

تحويل ترميز الجدول باستخدام جملة alter table ستضيع عليك كل البيانات.

يجب ان تغير ترميز البيانات اولا ومن ثم تغيير ترميز الجدول الى utf8 ووضع البيانات فيه

وهناك أداة جنو iconv وهي تعمل على اللينوكس وتختص بتحويل الترميز ، وعليك ان تكتب برنامج يقرا البيانات من الجدول ومن ثم يمرر السلسلة المقروءة الى iconv لكي يحول ترميزها والنتيجة يكتبها في جدول اخر او على نفس جدول بعد ان تستخدم alter table .فقط هكذا تعمل السكربتات .

وتستطيع استخدامها بسهولة عن طريق لغة php .

ويوجد الكثير من السكربتات الجاهزة والتي للاسف لم اجربهم ولا املك اي معلومات عنهم.

وننتظر بقية الشباب يمكن لديهم تجربة معها.

عموما قد أبرمج اداة تحويل الفترة القادمة ، لانه لدي قاعدة بترميز latin1 :blink: واريد تحويلها ايضا .

بالتوفيق.

#3

جزاك الله خيرا أخي على الرد.

اطلعت على الروابط، ولا أظنني فقهت الكثير صراحة :happy:

فمن يدلني على "سكريبت" يؤدي العملية بسهولة؟

جربت أداة Phoca (لا أعلم هل تتبع inconv أم لا) وبعض السكريبتات العربية (سكريبت العندليب) ولم تنجح.

بارك الله فيكم.

مواضيع مشابهة