تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة البيانات بالاحرف العربية Mysql B4A
#1
السلام عليكم 
قمت بانشاء مشروع 
المشكل الوحيد هو  مشكلة البيانات بالاحرف العربية  البيانات مشفرة  بهذا الشكل  ??????????  في قاعدة البيانات 

ما  هو الحل لهذه المشكلة عن طريق b4a  

علما اني  استعمل  utf8-general-ci

شكرا
الرد
تم الشكر بواسطة: asemshahen5
#2
(23-02-20, 08:39 PM)d3vc0d كتب : السلام عليكم 
قمت بانشاء مشروع 
المشكل الوحيد هو  مشكلة البيانات بالاحرف العربية  البيانات مشفرة  بهذا الشكل  ??????????  في قاعدة البيانات 

ما  هو الحل لهذه المشكلة عن طريق b4a  

علما اني  استعمل  utf8-general-ci

شكرا

ممكن تضع المشروع، اجربه عندي، واحاول اجد الحل
الرد
تم الشكر بواسطة: asemshahen5
#3
(23-02-20, 09:32 PM)alsalamoni كتب :
(23-02-20, 08:39 PM)d3vc0d كتب : السلام عليكم 
قمت بانشاء مشروع 
المشكل الوحيد هو  مشكلة البيانات بالاحرف العربية  البيانات مشفرة  بهذا الشكل  ??????????  في قاعدة البيانات 

ما  هو الحل لهذه المشكلة عن طريق b4a  

علما اني  استعمل  utf8-general-ci

شكرا

ممكن تضع المشروع، اجربه عندي، واحاول اجد الحل

ما زلت انتظرك اخي

كيف استطعت الاتصال بقاعدة بيانات MySql ؟
الرد
تم الشكر بواسطة: asemshahen5
#4
المشكلة عندك بأن نوع البيانات في قاعدة البيانات varchar وهذا غير صحيح
قم بتغيرها لتصبح nvarchar
وان شاء الله تنحل مشكلتك
الرد
تم الشكر بواسطة: asemshahen5 , asemshahen5
#5
طريقة اتصالك مباشرة ام عن طريق php
لوتضيف كود الاضافة وكود الاتصال

انا استعمل varchar ويعمل جيدا بدون مشكلة
الرد
تم الشكر بواسطة: asemshahen5 , sendbad100
#6
للاتصال بقاعدة البيانات 


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
الرد
تم الشكر بواسطة: asemshahen5 , asemshahen5
#7
اذا كان تشفير القاعدة كلها utf8-general-ci
عليك اولا بتجربة ادخال ولو سجل واحد بالعربي
عن طريق محرر ماي اس كيو ال phpmyadmin لتعلم هل المشكلة في القاعدة نفسها ام في b4a

وانصحك بشدة بالاتصال عن طريق php فهي تتميز بالسرعة والامان
لنفرض ان احدهم قام بكسر برنامجك فانه سيجد فيه اسم السيرفر والباسوورد واسم القاعدة والمستخدم بناءا على ذلك يستطيع التلاعب ببياناتك
الرد
تم الشكر بواسطة: asemshahen5
#8
(25-02-20, 05:06 PM)alfaiz678 كتب : اذا كان تشفير القاعدة كلها utf8-general-ci
عليك اولا بتجربة ادخال ولو سجل واحد بالعربي
عن طريق محرر ماي اس كيو ال  phpmyadmin لتعلم هل المشكلة في القاعدة نفسها ام في b4a

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

قمت بذالك  بادخال البيانات عن طريق phpmyadmin  البانات تظهربشكل جيد 
لاكن عند ادخالها عن طريق  b4a   تظهر على شكل  ??????????

و لو سمحت الطريقة الامنة للاتصال بقاعدة البايانات باستعمال  php 

و شكرا على الرد و النصيحة
الرد
تم الشكر بواسطة: asemshahen5 , asemshahen5
#9
الطرق كثيرة
وساعطيك الاسهل وهناك ماهو افضل منها عن طريق 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
الرد
تم الشكر بواسطة: d3vc0d , asemshahen5 , محمد كريّم
#10
(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
الرد
تم الشكر بواسطة: asemshahen5



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم