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

مشلكة اللغة العربية في استضافة جافا

بدأه umarhady في 27 أغسطس 2008 · 20 رد · 2,009 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

قبل 3 ايام انتهيت من أعداد برنامج web applcation باسخدام jsp ,serlvet , tocamt and my sql

وبالتواصل مع بعض مواقع الأستضافة (استضافة تدعم JAVA + TOMCAT) مثل

www.hostjava.net موقع يمكن من خلاله اجراء استضافة تجريبية لمدة 14 يوم

البرنامج اشتغل تمام بس المشكلة في اللغه العربية لما ادخل بيانات بقاعدة البيانات تظهر ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

تواصلت معهم يقولون اللغة العربية مدعومه في السيرفر

غيرت الكود windows-1256 , UTF8 , UTF-8 , ISO8859_6

ولا واحد نفع

اللي اكتشفته ان لما يتم عملية طلب البيانات من Jsp إلى servlet عن طريق الطلب request

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

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

تره اخوكم بورطه ومتعاقد مع الزبون وإلى الأن ما حليت المشكلة

على فكرة يجوز تقولون المشكلة بقاعدة البيانات انا جربت ادخل مباشر من mysql Admin ودخل عربي وانعرض بالموقع

المشكلة بالسيرفلت سحب البيانات

انا عارف انتو ما راح تقصور جزاكم الله خير

أخوكم عمر

سامحوني الرسالة طويله بس المشكلة أكبر

UJH

خليك فاكرني

#2

السلام عليكم ورحمة الله وبركاته واجهتني مشكلتك من قبل وتم حلها بعد الاطلاع على الرابط التالي

Character Conversions from Browser to Database

وعشان أعطيك الزبدة من الموضوع اعمل التالي

1- عدل ملف web.xml الموجود في المجلد WEB-INF بإضافة الكود التالي


<param-name>PARAMETER_ENCODING</param-name>
<param-value>UTF-8</param-value>
</context-param>
<context-param>

2- أضف الكود التالي إلى ملف JSP قبل قراءة أي متغير من متغيرات الطلب


request.setCharacterEncoding(paramEncoding);%>
<%String paramEncoding = application.getInitParameter("PARAMETER_ENCODING");

المشكلة بإذن الله راح تنحل في حال كان

character_set_server=utf8

في MySQL

وعشان تتأكد من هذا نفذ الاستعلام

show variables like 'character_set_server'

وخبرنا عن اللي يصير معك

وعذرا على الإطالة

#3

السلام عليكم

الأخ حمد

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

انا بعثت مع هذه الرد الصفحاتالمستخدمة في البرنامج وهي كالتالي

registration.jsp

regAdd.java

srch_visa.jsp

web.xml

أرجو أن لا اكون ازعجك أرجو ان تتطلع على الكود وتخبرني في حالة وجود أي خطاء

وإن كان صحيح فالمشكلة تكون من الشركة التي استضيف لديها البرنامج

نصحتني الشركة المستضيفة بأستخدام ISO8859_6 ولا اعلم ما الحل

ممع بالغ التقدير والإحترام

code.zip

UJH

خليك فاكرني

#4

نسيت أن اخبرك انني عندما قمت بتجربة كول sql لتحديد نوع الأحرف في قاعدة البيانات كانت النيجة كالتالي

latin1

فهل هذه النتيجة صحيحة أم لا

UJH

خليك فاكرني

#5

بعد الإتصال بقاعده البيانات قم بتغيير charset إلى cp1256 أو utf8 كما تريد بواسطة إرسال هذا SQL إلى MySQL

set names 'cp1256'

تم تعديل هذه المشاركة بواسطة asm-soft في 27 أغسطس 2008 في 12:59

forum-signature-01.gif
#6

السلام عليكم

أخي الكريم, اذكر انني تعرضت الى هذه المشكلة سابقا

وقد استطعت حلها من خلال كلال كلاس اسمه utils عثرت عليه في المنتدى

حقيقة الكود المصدري لهذا الكلاس ليس متوفر لدي

و لكن لديا ملف الكلاس -مرفق- , يؤدي الغرض

فما عليك الا ان تستدعي ميثود موجودة في هذا الكلاس اسمها getEncodedStringValue1252

هذا قبل ان تخزن البيانات في قاعدة البيانات ,

مثال:

String stdID=Utils.getEncodedStringValue1252(request.getParameter("stdID"));

ثم

String add="insert into student (StudentID) values '"+stdID+"'";

اما في حالة القراءة من قاعدة البيانات

فان السترينج التي قراتها من الداتابيز, أعني

string stdID=ResultSet.getString(0);

سوف تتغير الى

string stdID=new String(ResultSet.getString(0).getBytes(),"Cp1252");

أرجو ان يفيدك ما ذكرت

بالتوفيق ان شاء الله

Utils.rar

#7

السلام عليكم

الأخ jfriend

سوف أقوم بتجربة الكود وأخبرك

هل تعرف موقع استضافة java جيد يمكن استخدامه

مع خالص التقدير

UJH

خليك فاكرني

#8

الأخ العزيز jfriend

للأسف لم يعمل الكود اتصور ان المشكلة من الشركة المستضيفة

أرجو اذا كان لديكم عنوان شركات استضافة جيدة أرجو ان ترسلوه لي

ولكم بالغ التقدير

UJH

خليك فاكرني

#9

هل جربت إرسال سطر SQL الذى وضعتة لك إلى MySQL بعد الإتصال به ؟

تم تعديل هذه المشاركة بواسطة asm-soft في 28 أغسطس 2008 في 12:30

forum-signature-01.gif
#10

انا لدي سيرفري الخاص للاستضافة

ولكن بالحقيقة لا ابيع لاي كان لانني لا احب وجع الراس :)

و الاسعار اكيد ارخص من اي سعر تشوفه و الاداء لا باس به لان السيرفر لا يوجد عليه سوى 3 تطبيقات jsp فقط

اخبرني عن تطبيقك هل تريد المساحة للتعلم ام هناك عمل ما و هل الزائرين كثر هل تحتاج مساحة كبيرة الخ..

هناك طبعا mysql و ftp و هل الامور

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#11

عزيزي asm-soft

لعد جربت الكود الذي بعثته لي ولكن لم يعمل كما ذكرت سابقا المشكلة تبدأ عندما يتم استدعاء البيانات في servlet

انا جربت اطبع البيانات القادمة من servlet قبل ما ادخله لقاعدة البيانات وكانت علامات استفهام

الأخ ألعزيز رامي العيساوي

بالنسبة للأستضافة اللي محتاجهه VPS للبرنامج ومساحة كبيرة جدا 40GB

لكن بنفس الوقت ابحث عن مساحات صغيرة بأسعالا مناسبة للتجربة والفحص البرامج

فأذا كان لديك الرغبة في التعاون ارجو ان تبعث لي بالتفاصيل على ايميلي التالي

omar@vistasoft-ye.com

مع بالغ الشكر والتقدير

UJH

خليك فاكرني

#12

لماذا لا تستغني على MYSQL وتستعمل بدلاً منها ORACL أو SQLSERVER

لا تتعب نفسك فيها

لان MYSQL يوجد بها مشاكل كثيرة وأحداها اللغة العربية .

طبعاً كل اصدار من MYSQL يختلف عن الاخر وبهذا سوف يختلف نوع الترميز الذي لابد ان يوضع لكي تظهر اللغة العربية بالشكل المطلوب

اما ORACL و SQLSERVER لن تحتاج الى شي مميز ولن تظهر هذه المشاكل اطلاقا ...

#13

عزيزي ابو سعود انا اصلا ما استخدام ORacle

بس ما حصلت استضافة فيها Oracle فاقرب شي حصلته MySQL

اذا تعرف استضافة تدعم Oracle ياريت تكتبلي العنوان

UJH

خليك فاكرني

#14

ابو سعود اسف انا قصدت انا كل برامجي باستخدام Oracle (ما استخدم غير Oracle)

UJH

خليك فاكرني

#15

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

السبب بسيط . لان تكلفة صيانه الاوراكل في الساعة يبلغ 500$ . فالشركة تسعى للخساره وليس للربح

ولكن مهما كان يوجد حل لقاعدة mysql . فكانت تواجهني دائما هذه المشكلة .

سوف اقوم بتركيبها وااخبرك باي نوع ترميز هو الافضل للغة ...

واتمنى منك ان تعرض لنا صفحة على الاقل لكي نعرف الخطأ . من قاعدة البيانات او من الصفحة نفسها ...

تم تعديل هذه المشاركة بواسطة ابو سعود الفرنسي في 31 أغسطس 2008 في 04:43

#16

انظر الى التالي قد يفيدك

/index.php?showtopic=165370

#17

عزيزي ابو سعود

والله هو هذه اللي انا مسويه بس المشكلة ما بيشتغل بهذا السيرفر اللي انا مستضيف عنده

انا مش كادر اعرف المشكلة من عدهم لو من عندي (ما عندي نظام Unix اجرب بيه) وهم يكولون السيرفر عدهم يدعم العربي

وبقيت حاير بين الخطاء من الكود أو الكشطلو من السيرفر نفسة

ياريت تشوف الكود وما تقصر والله

جزاك الله خير وكل رمضان وانت وكل اعضاء المنتدى والأمه العربية بخير

مع بالغ التقدير

UJH

خليك فاكرني

#18

استخدام نوع الترميز utf8_unicode_ci

#19

اخ umarhady

انا واجهتني نفس المشكلة و استطعت ايجاد الحل بعد شهر من العناء ...

الحل بسيط و سهل وانا شخصيا غير مقتنع بالحل ....

في البداية المشكلة ليس من الحافا المشكلة من ال Mysql ....

اللي صار معك انوو اول مرة نزلت ال Mysql نزلتهااا defult كما هيااا ... وبعد ذلك ارجع امسحها ونزلها لتغير ال الترميز او من الخيارات لن تستجيب ..

الحل : تنزيل windows جديد وعند تنزيل ال mysql من اول مرة يجب اختيار utf-8 وسوف يأخد عربي إن شاء الله ...

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

وشكرا

#20

احمد حموده :

هل جربت استخدام configuration wizard ؟

انا نزلت مايسقول وكانت فيه مشكله بالعربي بسبب اختياري اللغه

دخلت على الويزارد وغيرت اللغه الى Multilanguage يعني UTF-8 وضبط .

#21

اخ EISA انا عارف هدا الشي و مجربوو لما تغيروو من الويزرد ما بينفع ما بتاخد الاعدادات زز ولما تمحي كل ال MYSQL وترجع اتنزلها كماان ما بينفع ....

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

انا بقولك وجرب ما راح تخسر شي وانا متلك مو مقتنع بي هل شي ...

FORMAT مع WINDOWS جديد واول ما تنزل ال MYSQL من و انت بتنزل فيها اختار UTF-8 لانوو اذا ما اخترت من البداية ما راح تستفيد شي ....

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