السلام عليكم
قمت بانشاء مشروع
المشكل الوحيد هو مشكلة البيانات بالاحرف العربية البيانات مشفرة بهذا الشكل ?????????? في قاعدة البيانات
ما هو الحل لهذه المشكلة عن طريق b4a
علما اني استعمل utf8-general-ci
شكرا
(23-02-20, 08:39 PM)d3vc0d كتب : [ -> ]السلام عليكم
قمت بانشاء مشروع
المشكل الوحيد هو مشكلة البيانات بالاحرف العربية البيانات مشفرة بهذا الشكل ?????????? في قاعدة البيانات
ما هو الحل لهذه المشكلة عن طريق b4a
علما اني استعمل utf8-general-ci
شكرا
ممكن تضع المشروع، اجربه عندي، واحاول اجد الحل
(23-02-20, 09:32 PM)alsalamoni كتب : [ -> ] (23-02-20, 08:39 PM)d3vc0d كتب : [ -> ]السلام عليكم
قمت بانشاء مشروع
المشكل الوحيد هو مشكلة البيانات بالاحرف العربية البيانات مشفرة بهذا الشكل ?????????? في قاعدة البيانات
ما هو الحل لهذه المشكلة عن طريق b4a
علما اني استعمل utf8-general-ci
شكرا
ممكن تضع المشروع، اجربه عندي، واحاول اجد الحل
ما زلت انتظرك اخي
كيف استطعت الاتصال بقاعدة بيانات MySql ؟
المشكلة عندك بأن نوع البيانات في قاعدة البيانات varchar وهذا غير صحيح
قم بتغيرها لتصبح nvarchar
وان شاء الله تنحل مشكلتك
طريقة اتصالك مباشرة ام عن طريق php
لوتضيف كود الاضافة وكود الاتصال
انا استعمل varchar ويعمل جيدا بدون مشكلة
للاتصال بقاعدة البيانات
Sub Process_Globals
Dim mh As MysqlHandler
Dim rs As ResultSet
End Sub
Sub dbconn
mh.Initialize("serveriporhost","db","user","pwd")
If mh.isConnected = False Then
Msgbox("Connexion Error", "Info")
Return
End If
End Sub
لاظافة البيانات
dbconnect.dbconn
dbconnect.mh.Exec("INSERT INTO tb VALUES('"&fnmtxt.text&"','"&lnmtxt.text&"','"&emailtxt.text&"','"&phontxt.text&"'))
dbconnect.mh.Close
Activity.Finish
StartActivity(ActivityX)
(25-02-20, 01:26 AM)k_medhat كتب : [ -> ]المشكلة عندك بأن نوع البيانات في قاعدة البيانات varchar وهذا غير صحيح
قم بتغيرها لتصبح nvarchar
وان شاء الله تنحل مشكلتك
لا يوجد nvarchar في mysql
اذا كان تشفير القاعدة كلها utf8-general-ci
عليك اولا بتجربة ادخال ولو سجل واحد بالعربي
عن طريق محرر ماي اس كيو ال phpmyadmin لتعلم هل المشكلة في القاعدة نفسها ام في b4a
وانصحك بشدة بالاتصال عن طريق php فهي تتميز بالسرعة والامان
لنفرض ان احدهم قام بكسر برنامجك فانه سيجد فيه اسم السيرفر والباسوورد واسم القاعدة والمستخدم بناءا على ذلك يستطيع التلاعب ببياناتك
(25-02-20, 05:06 PM)alfaiz678 كتب : [ -> ]اذا كان تشفير القاعدة كلها utf8-general-ci
عليك اولا بتجربة ادخال ولو سجل واحد بالعربي
عن طريق محرر ماي اس كيو ال phpmyadmin لتعلم هل المشكلة في القاعدة نفسها ام في b4a
وانصحك بشدة بالاتصال عن طريق php فهي تتميز بالسرعة والامان
لنفرض ان احدهم قام بكسر برنامجك فانه سيجد فيه اسم السيرفر والباسوورد واسم القاعدة والمستخدم بناءا على ذلك يستطيع التلاعب ببياناتك
قمت بذالك بادخال البيانات عن طريق phpmyadmin البانات تظهربشكل جيد
لاكن عند ادخالها عن طريق b4a تظهر على شكل ??????????
و لو سمحت الطريقة الامنة للاتصال بقاعدة البايانات باستعمال php
و شكرا على الرد و النصيحة
الطرق كثيرة
وساعطيك الاسهل وهناك ماهو افضل منها عن طريق get , post
انشئ ملف php وارفعه على الاستضافه وليكن باسم con.php
محتواه تجد فيه ارسال التشفير الذي يخلصك من المشكلة
PHP كود :
<?php
$servername = "";
$username = "";
$password = "";
$dbnamee = "";
$con = new mysqli($servername, $username, $password, $dbnamee);
mysqli_set_charset($con,"utf8");
?>
ثم اضف ملف php اخر وارفع الاثنين على استضافتك وليكن اسمه All.php
PHP كود :
<?php
include ("con.php");
//mysqli_set_charset ($con , "utf8");
$query = file_get_contents("php://input");
$sth = mysqli_query($con, $query);
if (mysqli_errno($con)) {
header("HTTP/1.1 500 Internal Server Error");
echo $query.'\n';
echo mysqli_error($con);
}
else
{
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
$rows[] = $r;
}
$res = json_encode($rows);
echo $res;
mysqli_free_result($sth);
}
mysqli_close($con);
?>
انتهينا من جانب الاستضافة الان ناتي الى جانب b4a
(25-02-20, 05:17 PM)alfaiz678 كتب : [ -> ]الطرق كثيرة
وساعطيك الاسهل وهناك ماهو افضل منها عن طريق get , post
انشئ ملف php وارفعه على الاستضافه وليكن باسم con.php
محتواه تجد فيه ارسال التشفير الذي يخلصك من المشكلة
PHP كود :
<?php
$servername = "";
$username = "";
$password = "";
$dbnamee = "";
$con = new mysqli($servername, $username, $password, $dbnamee);
mysqli_set_charset($con,"utf8");
?>
ثم اضف ملف php اخر وارفع الاثنين على استضافتك وليكن اسمه All.php
PHP كود :
<?php
include ("con.php");
//mysqli_set_charset ($con , "utf8");
$query = file_get_contents("php://input");
$sth = mysqli_query($con, $query);
if (mysqli_errno($con)) {
header("HTTP/1.1 500 Internal Server Error");
echo $query.'\n';
echo mysqli_error($con);
}
else
{
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
$rows[] = $r;
}
$res = json_encode($rows);
echo $res;
mysqli_free_result($sth);
}
mysqli_close($con);
?>
انتهينا من جانب الاستضافة الان ناتي الى جانب b4a
نعم تم انشاء الملفان all.php , و con.php