المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: مشلكة اللغة العربية في استضافة جافا
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات لغات البرمجة العام > منتدى مبرمجي لغة جافا JAVA
umarhady
السلام عليكم

قبل 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 ودخل عربي وانعرض بالموقع
المشكلة بالسيرفلت سحب البيانات

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

أخوكم عمر

سامحوني الرسالة طويله بس المشكلة أكبر
حمد
السلام عليكم ورحمة الله وبركاته واجهتني مشكلتك من قبل وتم حلها بعد الاطلاع على الرابط التالي
Character Conversions from Browser to Database

وعشان أعطيك الزبدة من الموضوع اعمل التالي
1- عدل ملف web.xml الموجود في المجلد WEB-INF بإضافة الكود التالي
كود
<context-param>
  <param-name>PARAMETER_ENCODING</param-name>
  <param-value>UTF-8</param-value>
</context-param>


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

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


المشكلة بإذن الله راح تنحل في حال كان
كود
character_set_server=utf8

في MySQL
وعشان تتأكد من هذا نفذ الاستعلام
كود
show variables like 'character_set_server'


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

وعذرا على الإطالة
umarhady
السلام عليكم

الأخ حمد

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

registration.jsp
regAdd.java
srch_visa.jsp
web.xml

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

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

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

latin1

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

كود
set names 'cp1256'
jfriend
السلام عليكم

أخي الكريم, اذكر انني تعرضت الى هذه المشكلة سابقا
وقد استطعت حلها من خلال كلال كلاس اسمه 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");


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

بالتوفيق ان شاء الله
umarhady
السلام عليكم

الأخ jfriend

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

مع خالص التقدير
umarhady
الأخ العزيز jfriend

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

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

ولكم بالغ التقدير
asm-soft
هل جربت إرسال سطر SQL الذى وضعتة لك إلى MySQL بعد الإتصال به ؟
رامي العيساوي
انا لدي سيرفري الخاص للاستضافة
ولكن بالحقيقة لا ابيع لاي كان لانني لا احب وجع الراس regular_smile.gif

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

اخبرني عن تطبيقك هل تريد المساحة للتعلم ام هناك عمل ما و هل الزائرين كثر هل تحتاج مساحة كبيرة الخ..
هناك طبعا mysql و ftp و هل الامور
umarhady
عزيزي asm-soft
لعد جربت الكود الذي بعثته لي ولكن لم يعمل كما ذكرت سابقا المشكلة تبدأ عندما يتم استدعاء البيانات في servlet
انا جربت اطبع البيانات القادمة من servlet قبل ما ادخله لقاعدة البيانات وكانت علامات استفهام

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

لكن بنفس الوقت ابحث عن مساحات صغيرة بأسعالا مناسبة للتجربة والفحص البرامج
فأذا كان لديك الرغبة في التعاون ارجو ان تبعث لي بالتفاصيل على ايميلي التالي
omar@vistasoft-ye.com

مع بالغ الشكر والتقدير
ابو سعود الفرنسي
لماذا لا تستغني على MYSQL وتستعمل بدلاً منها ORACL أو SQLSERVER
لا تتعب نفسك فيها
لان MYSQL يوجد بها مشاكل كثيرة وأحداها اللغة العربية .
طبعاً كل اصدار من MYSQL يختلف عن الاخر وبهذا سوف يختلف نوع الترميز الذي لابد ان يوضع لكي تظهر اللغة العربية بالشكل المطلوب
اما ORACL و SQLSERVER لن تحتاج الى شي مميز ولن تظهر هذه المشاكل اطلاقا ...
umarhady
عزيزي ابو سعود انا اصلا ما استخدام ORacle
بس ما حصلت استضافة فيها Oracle فاقرب شي حصلته MySQL

اذا تعرف استضافة تدعم Oracle ياريت تكتبلي العنوان
umarhady
ابو سعود اسف انا قصدت انا كل برامجي باستخدام Oracle (ما استخدم غير Oracle)
ابو سعود الفرنسي
لا اعرف موقع استضافة يدعم الاوراكل . ولا اتوقع ان تقوم شركة استضافة بجعل قاعدة بياناتها اوراكل
السبب بسيط . لان تكلفة صيانه الاوراكل في الساعة يبلغ 500$ . فالشركة تسعى للخساره وليس للربح

ولكن مهما كان يوجد حل لقاعدة mysql . فكانت تواجهني دائما هذه المشكلة .
سوف اقوم بتركيبها وااخبرك باي نوع ترميز هو الافضل للغة ...
واتمنى منك ان تعرض لنا صفحة على الاقل لكي نعرف الخطأ . من قاعدة البيانات او من الصفحة نفسها ...
ابو سعود الفرنسي
انظر الى التالي قد يفيدك
http://www.arabteam2000-forum.com/index.php?showtopic=165370
umarhady
عزيزي ابو سعود

والله هو هذه اللي انا مسويه بس المشكلة ما بيشتغل بهذا السيرفر اللي انا مستضيف عنده
انا مش كادر اعرف المشكلة من عدهم لو من عندي (ما عندي نظام Unix اجرب بيه) وهم يكولون السيرفر عدهم يدعم العربي
وبقيت حاير بين الخطاء من الكود أو الكشطلو من السيرفر نفسة

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

مع بالغ التقدير
ابو سعود الفرنسي
استخدام نوع الترميز utf8_unicode_ci
Ahmad Humodah
اخ umarhady
انا واجهتني نفس المشكلة و استطعت ايجاد الحل بعد شهر من العناء ...
الحل بسيط و سهل وانا شخصيا غير مقتنع بالحل ....

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


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

هل جربت استخدام configuration wizard ؟
انا نزلت مايسقول وكانت فيه مشكله بالعربي بسبب اختياري اللغه
دخلت على الويزارد وغيرت اللغه الى Multilanguage يعني UTF-8 وضبط .
Ahmad Humodah
اخ EISA انا عارف هدا الشي و مجربوو لما تغيروو من الويزرد ما بينفع ما بتاخد الاعدادات زز ولما تمحي كل ال MYSQL وترجع اتنزلها كماان ما بينفع ....
انا مرات بي هية المشكلة وقعدت اكتر من شهر جرب ما خليت شي ...
انا بقولك وجرب ما راح تخسر شي وانا متلك مو مقتنع بي هل شي ...
FORMAT مع WINDOWS جديد واول ما تنزل ال MYSQL من و انت بتنزل فيها اختار UTF-8 لانوو اذا ما اخترت من البداية ما راح تستفيد شي ....
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2008 Invision Power Services, Inc.