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

اللغة العربية مع قواعد البيانات

مغلق
بدأه ahmed ali alsahli في 12 يناير 2008 · 10 رد · 1,280 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندما أستخدم insert لقاعدة البيانات, تتم العملية بنجاح... لكن الكتابة العربية تظهر على هية علامات استفهام؟

هل مرت هذه المشكلة بأي شخص من الاخوان؟

import java.sql.*;

 class ConnectAndInsert  {
		public static void main (String args[]) {
		 	Connection dbConn = null;
				
		
String stdName=new String("أحمد علي الساحلي");
		String stdNumber=new String("16276556221");


	try {
	   Driver d = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
		   String URL = "jdbc:odbc:" + "JDBC DB";
	   dbConn = DriverManager.getConnection(URL, "nouser", "nopassword"); 

	  // Java SQL objects...	
 
	   Statement stmt,stmtInsrt; 
		   ResultSet rs; 
   
	   stmt = stmtInsrt = dbConn.createStatement();
				 
		   stmtInsrt.executeUpdate("insert into Names(stdName,stdNumber) values(\'" + stdName +"\',\'"+ stdNumber +"\')");
		   
		   rs = stmt.executeQuery("SELECT * FROM Names");

	   while (rs.next())	
 		System.out.println ( rs.getString("stdName") + "  \"" + rs.getString("stdNumber") +"\"" );


	   dbConn.close(); 
		   System.out.println("db connection closed."); 
		  }
			  catch (Exception e) {
		   System.out.println("خطأ في الاتصال. \n");
	   e.printStackTrace();
			   }

	 } // end main

  } // end class

import java.sql.*;

 class ConnectAndInsert  {
		public static void main (String args[]) {
		 	Connection dbConn = null;

		String stdName=new String("أحمد علي الساحلي");
		String stdNumber=new String("1122221");


	try {
	   Driver d = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
		   String URL = "jdbc:odbc:" + "JDBC Energy";
	   dbConn = DriverManager.getConnection(URL, "nouser", "nopassword"); 
		   System.out.println("db Connected...\n"); 


	   Statement stmt,stmtInsrt; 
		   ResultSet rs; 

	   stmt = stmtInsrt = dbConn.createStatement();

		   stmtInsrt.executeUpdate("insert into Names(stdName,stdNumber) values(\'" + stdName +"\',\'"+ stdNumber +"\')");

		   rs = stmt.executeQuery("SELECT * FROM Names");

	   while (rs.next())	
 		System.out.println ( rs.getString("stdName") + "  \"" + rs.getString("stdNumber") +"\"" );


	   dbConn.close(); 
		   System.out.println("db connection closed."); 
		  }
			  catch (Exception e) {
		   System.out.println("خطأ في الاتصال. \n");
	   e.printStackTrace();
			   }

	 } // end main

  } // end class
#2

اذهب الى Control Panel

ثم LanguageOptions

ادخل الى Advanced

و اختر اللغة العربية من قائمة اللغة و اذا لم يمشي الحال اعد كتابة الكود في project جديد

mofeedchaar@hotmail.com

#3

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

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

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

في الواقع لا أدري كيف أشخص المشكلة... لهذا قلت ربما هناك شخص قد مر بتجربة مشابهة؟

#4

السلام عليكم،

يحتاج تعديل الــ Encoding

قبل البدأ بالإتصال قم بإضافة Properties

Properties props = new Properties();
props.put ("charSet", "UTF8"); 
c = DriverManager.getConnection (url, props);

أختر charSet المناسب (أعتقد Unicode أو ماشابة)

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#5

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

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

لذا إذا كان أحد الاخوة عنده رأي حول هذا الموضوع أرجو أن لا يبخل علينا وله جزيل الشكر وأجره على الله

السلام عليكم

#6

جافا تعتمد ال UTF-8

لذلك اعتقد بانك لم تستخدم هذا التشفير في بناء قاعدة البيانات

جرب كود الاخ العزيز في المشاركة السابقه مع التعديل التشفير الى cp1258

#7

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

لم تنجح العملية حتى باستخدام cp1258؟

وأيضا كيف لي بناء قاعدة البيانات تستخدم هذا التشفير UTF-8

لاحظ أنني استخدم اكسس 

#8

عفوا اردت كتابة

cp1256

#9
اقتباس
لقد جربت هذه الطريقة على برنامجي وأعتقد بأنها جيدة ولكن واضح أن UTF8 ليست هي المطلوبة

عزيزي الـــ UTF8 مجرد مثال، ذكرت سابقا

اقتباس
أختر charSet المناسب

هذا موقع لقائة الـــ charSet المدعمة من جافا 1.5

http://java.sun.com/j2se/1.5.0/docs/guide/...coding.doc.html

أبحث عن الكلمة "Arabic" والظاهر مثل ما ذكر أخي العزيز Cp1256 =Windows Arabic

ملاحظة: هناك ثلاث مراحل تمر بها الكلمة ويجب مراعات الــ encoding فيها:

1- وقت الإدخال (Interface)

2- وقت الحفظ بقاعدة البانات

3- وقت العرض (Interface)

تم تعديل هذه المشاركة بواسطة Feras Nasser في 12 يناير 2008 في 20:32

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#10

بسم الله الرحمن الرحيم

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

بارك الله في هذا الجمع ... وأسأل الله السميع العليم أن يبارك فيكم

شكرا يا اخواني ... اللغة العربية تشتغل بشكل ممتاز الان والحمدلله

#11

بالتوفيق

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

هذا الموضوع مغلق.

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