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

مشكلة: ادخال بيانات عربية الى قاعدة البيانات عن طريق Jsp

بدأه BigMove في 14 فبراير 2008 · 9 رد · 2,282 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا لدي صفحة لتسجيل مستخدم ـ مجرد نموذج للمشكلة الحالية - عند القيام بامر الادخال تتحول القيم المدخلة باللغة العربية الى ؟؟؟؟؟؟

اولا: الجدول

CREATE DATABASE IF NOT EXISTS base2;
USE base2;

CREATE TABLE  `User` (
 `UserNo` INT( 10 ) NOT NULL ,
 `password` VARCHAR( 10 ) NOT NULL ,
 `FirstName` VARCHAR( 10 ) NOT NULL ,
 `LastName` VARCHAR( 10 ) NOT NULL ,
 `FamilyName` VARCHAR( 10 ) NOT NULL ,
PRIMARY KEY (  `UserNo` )
) ENGINE=InnoDB DEFAULT CHARSET=cp1256;

ثانيا: صفحة JSP للادخال

<%@ page contentType="text/html; charset=windows-1256" language="java" import="java.sql.*" errorPage="" session="false"%>
<%request.setCharacterEncoding("windows-1256");
response.setCharacterEncoding("windows-1256");%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
<title>New User</title>
</head>
<body>
<form action="?act=new" method="post">
<table width="400" border="1" cellpadding="0" cellspacing="0" align="center">
<tr><td>User Number</td><td align="center"><input type="text" name="UserNo" /></td><td align="right">رقم المستخدم</td></tr>
<tr><td>Password</td><td align="center"><input type="password" name="password" /></td><td align="right">كلمة المرور</td></tr>
<tr><td>Frist Name</td><td align="center"><input type="text" name="FirstName" /></td><td align="right">الاسم الاول</td></tr>
<tr><td>Last Name</td><td align="center"><input type="text" name="LastName" /></td><td align="right">الاسم الثاني</td></tr>
<tr><td>Family Name</td><td align="center"><input type="text" name="FamilyName" /></td><td align="right">اسم العائلة</td></tr>
<tr><td colspan="3" align="center"><br><input type="submit" value="Add اضافة" /></td></tr>
</table>
</form>
<%
if(request.getParameter("act")!=null && request.getParameter("act").equals("new"))
{
//Database information
String driver="com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/base2";
String dbuser="root";
String dbpass="root";
//
String UserNo = request.getParameter("UserNo");
String password = request.getParameter("password");
String FirstName = request.getParameter("FirstName");
String LastName = request.getParameter("LastName");
String FamilyName = request.getParameter("FamilyName");
int rowCount = 0;
String sql = "";
try
{
Class.forName (driver).newInstance ();
Connection Connec = DriverManager.getConnection(url, dbuser, dbpass);
Statement Stat1 = Connec.createStatement ();
sql = "INSERT INTO User (UserNo,password,FirstName,LastName,FamilyName) VALUES("+UserNo+",'"+password+"','"+FirstName+"','"+LastName+"','"+FamilyName+"')";
rowCount = Stat1.executeUpdate (sql);
Stat1.close ();
Connec.close();
}
catch (Exception e)
{
String ax="Error"+e;%>
<%=ax %><br><%
}

if(rowCount == 0)
{%>
Didn't Add <br>
Statment is <%=sql%>
<%}
else{%>
Added <br>
Statment is <%=sql%>
<%}

}
%>
</body>
</html>

الان الى المشكلة بعد عملية الادخال وبقيم عربية ظهر لي اثناء دخولي الى قاعدة البيانات ان القيم العربية هي مجرد ؟؟؟؟؟؟

صفحة الادخال

9388492567.png

نتيجة الادخال

45728e55dc.png

قاعدة البيانات

50049a5f1f.png

علما بان الكود في المرفقات

لا اعلم اين المشكلة بالتحديد

تحياتي

newUser.jsp.zip

#2

make the language that accept the data UTF8 and this will be appear mostly at MYSQL

#3

غير الـ 1256

الى 1252

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

#4

اشكركم جميعا على تواجدكم واعتذر عن تأخري في الرد

young man

اشكرك ولكن انا قمت بذلك مسبقا ولم تفلح

رامي العيساوي

أخوي ما ادري هل تقصد في قاعدة البيانات ام بالكود

تحياتي

#5

المشكلة لديك ليست في صفحة الـJSP ... بل في قاعدة البيانات

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

تم تعديل هذه المشاركة بواسطة Jsp في 19 فبراير 2008 في 19:34

#6

^^^^^^

هلا اخوي ما هي هذه الصيغة اذا كنت تعرفها

شاكر لك تواجدك

#7

الخطأ في احتمالين فقط

الأول: الأمر في اعلى صفحة ال jsp

<%@ page contentType="text/html; charset=windows-1256" language="java" import="java.sql.*" errorPage="" session="false"%>

هنا بالضبط charset=windows-1256

الثاني: في الترميز في قاعدة البيانات

يعني مشكلتك بسيطة ولله الحمد :)

بالتوفيق

تم تعديل هذه المشاركة بواسطة T15 في 20 فبراير 2008 في 11:43

#8

انا مو متاكد و بعرف انو اللي عم بقوله مو منطقي بس جرب بدلها بالكود لـ 1252

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

#9

الحل

تعديل الترميز لقاعدة البيانات الى utf8

عن طريق GUI Tools

#10
BigMove كتب:
الحل

تعديل الترميز لقاعدة البيانات الى utf8

عن طريق GUI Tools

اول شي .. عذرا عن تاخيري بالرد ... ما انتبهت اني مشارك في الموضوع هذا

بس ما شاء الله حبيتها على طول ... الله يعينك ويوفقك

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…