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

مشكلة في ترميز اللغة العربية بين C#.net و Nusoap

بدأه moneer.info في 9 أغسطس 2008 · 5 رد · 1,433 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكلة و بتمنى اذا حدا بيقدر يساعدني بأي فكرة ما يقصر

أقوم بكتابة تطبيق محلي بلغة C#.net سوف يتصل هذا التطبيق مع قاعدة بيانات MYSQL موجودة على سيرفر الاستضافة على الويب و ذلك من خلال خدمة ويب web service بلغة ابي اتش بي .. (nusoap ) موجودة على السيرفر نفسه ... المهم الاتصال بين التطبيق وقاعدة البيانات نجح في احضار بيانات عربية من قاعدة البيانات و لكن ادخال بيانات عربية عبر التطبيق الى قاعدة البيانات و من ثم استعادتها يعطي رموز غريبة ؟؟؟؟؟(اشارات استفهام ) أي أن الاتصال بين C# و mysql عبر ال nusoap نجح فقط في استعادة بيانات عربية مدخلة بشكل صحيح (اما عبر php أو عبر phpmyadmin) أما البيانات العربية المدخلة من خلال التطبيق فانها لا تظهر عند استعادتها بشكل صحيح أي ان الادخال عبر التطبيق لبيانات عربية يفشل أي الاتصال بين C# و my sql نجح باتجاه و احد فقط و هو استعادة بيانات عربية موجودة بالأصل في قاعدة البيانات و مدخلة من خلال مكان أخر غير التطبيق ..

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

هلأ انا بعرف انو المشكلة مشكلة ترميز UTF-8و انو المشكلة عمتكمن بالاتصال بين c# و ال php nusoap و ليست بين php و mysql أي البيانات العربية تصل مشوشة بالأساس الى php والتي تقوم بدورها بنقلها على حالتها المشوهة الى mysql بس شو الحل ....

طيب و اذا مامشي الحال حدا بيعرف شي مكتبة مشابهة لعمل ال nusoap و بلغة البي اتش بي و لا مارح استفيد شي باعتبار انو مشكلة اللغة العربية رح تبقى موجودة نفسها اذا استخدمت شي تاني غير ال nusoap باعتبار انو بالبي اتش بي ..أو برأيكم أبدل تطبيق ال c# بتطبيق جافا باعتبار انو الجافا و البي اتش بي open source و ممكن يتوافقوا مع بعض أكتر ..و لا استغني نهائيا عن خدمة الويب و اعمل قاعدة بيانات تانية محلية تتصل مباشرة مع التطبيق وا عمل لها مزامنة كل فترة مع قاعدة البيانات الموجودة على السيرفر و لا شو ؟؟...طيب اذا في شي حلول تانية بتقترحوها أو فكرة ممكن تطرحوها هون و نتناقش فيها و شكرا الكم كتير

تم تعديل هذه المشاركة بواسطة moneer.info في 9 أغسطس 2008 في 10:29

#2

طيب و هلأ رح احط المحاولات و الأمور اللي جربتها و ما نجحت

بعد فتح الاتصال بين البي اتش بي و ال ماي سيكوال و ضعت

$sql333=" set names 'utf8' ";

mysql_query($sql333,$con);

mysql_query("SET character_set_client = utf-8");

mysql_query("SET character_set_results =utf-8");

mysql_query("SET character_set_connection =utf-8");

و ان نوع قاعدة البينات يدعم UTF-8

و كذلك وضعت

$server->soap_defencoding = 'UTF-8';

mb_internal_encoding('UTF-8');

mb_http_output('UTF-8');

mb_language("Arabic");

mb_http_input ('UTF-8');

في نهاية ال nusoap code

و لم تنجح كلها فهل هناك حلول أخرى

تم تعديل هذه المشاركة بواسطة moneer.info في 9 أغسطس 2008 في 10:18

#3

في ال connection string اضف charset=utf8

1
#4

مشكور أخي مشي الحال و لم تكن المشكلة من اسلوب الاتصال مع قاعدة البيانات و انما من الترميز المستخدم في التخاطب بين ال C# و ال nusoap

#5

السلام عليكم .. وكاني وجدت حل لمشكلة اعانيها ولكن لم ادري اين اضفة الكود الذي اقترحه الاستاذ احمد علما بأني مبتداء في البرمجة بلغة C# ..
مشكلتي لدي برنامج يعمل على ارسال رسائل عبر شريحت SMS وطبعا قمنا بربط الواجهات ببورت المودم ولكن عند الارسال بلغة انجليزية تصل الى الهاتف بشكل مضبوط ولكن عند الارسال بلغة عربية تصل الى الهاتف مرمزة ..

#6
زاهر الميسري كتب:

السلام عليكم .. وكاني وجدت حل لمشكلة اعانيها ولكن لم ادري اين اضفة الكود الذي اقترحه الاستاذ احمد علما بأني مبتداء في البرمجة بلغة C# ..

مشكلتي لدي برنامج يعمل على ارسال رسائل عبر شريحت SMS وطبعا قمنا بربط الواجهات ببورت المودم ولكن عند الارسال بلغة انجليزية تصل الى الهاتف بشكل مضبوط ولكن عند الارسال بلغة عربية تصل الى الهاتف مرمزة ..

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