Flutter Dev نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 (معدل) تحيه طيبه للجميع لدي مشروع فلاتر مرتبط بقاعدة بيانات mysql أحاول عرض البيانات للمستخدمين التي تم تخزينها مسبقا على قاعدة البيانات ولكن المشكلة ان الكلمات العربية تظهر على شكل استفهام ؟؟؟؟؟ بشكل هذا ما هو الحل لجعل النصوص العربية تظهر بشكل الصحيح ياليت اذا احد لديه فكره يفيدنا الكود المستعمل كالتالي: _fetchData() async { var response = await http.get( Uri.parse('http://localhost/HRMS.php'), headers: {"Accept": "application/json"}); setState(() { var convertDataToJson = json.decode(response.body); data = convertDataToJson['result']; txtName = data[0]['Name']; log(txtName); }); } مع العلم انني قمت بستعمل الطريقة التالية ولكن بدون فأئده : String body = utf8.decode(response.bodyBytes); print(body); بنسبة الى كود PHP <?php header('access-control-allow-origin: *'); header('Access-Control-Allow-Headers: *'); require_once 'connt.php'; $sql="SELECT * FROM employees INNER JOIN tEmployeeNAME ON employees.IdEmployeeNAME = tEmployeeNAME .IdEmployeeNAME $stmt = $con->prepare($sql); $stmt->execute(); $result = $stmt->get_result(); $array = array(); while ($row = mysqli_fetch_assoc($result)) { $array[] = $row; } echo ($result) ? json_encode(array("code" => 1, "result"=>$array)) : json_encode(array("code" => 0, "message"=>"Data not found !")); ?> شكرا لكم تم التعديل في 20 يناير 2022 بواسطة مروان مروان3 1 اقتباس
1 بلال زيادة نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 هل ترميز الحقول في قاعدة البيانات utf8mb4_unicode_ci ؟ 1 اقتباس
0 Flutter Dev نشر 20 يناير 2022 الكاتب أرسل تقرير نشر 20 يناير 2022 بتاريخ On 20/1/2022 at 19:27 قال بلال زيادة: هل ترميز الحقول في قاعدة البيانات utf8mb4_unicode_ci ؟ أظهر المزيد مرحبا اخي الكريم نعم قمت بتجربة utf8mb4_unicode_ci وايضا utf8_general_ci والاثنين نفس المشكله مع العلم اني استعمل فلاتر ويب 1 اقتباس
1 بلال زيادة نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 بتاريخ On 20/1/2022 at 19:30 قال مروان مروان3: مرحبا اخي الكريم نعم قمت بتجربة utf8mb4_unicode_ci وايضا utf8_general_ci والاثنين نفس المشكله مع العلم اني استعمل فلاتر ويب أظهر المزيد هل يمكنك تحويل ترميز الريسبونس إلى utf8 عن طريق String body = jsonDecodeUtf8(response.bodyBytes); أو يمكنك إضافة الدالة utf8.decode إلى response.bodyBytes كما في الطريقة التالية json.decode(utf8.decode(response.bodyBytes)) إذا لم ينجح ذلك تأكد من شكل الريسبونس الي راجع من api و يكون بالعربية. 1 اقتباس
1 Wael Aljamal نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 حاول استخدام التعليمة التالية في بداية ملف PHP ini_set('default_charset', 'utf-8'); أو قم بتعديل ملف php.ini في ملف السيرفر لجعل ترميز النصوص utf8 عدل السطر: default_charset = "utf-8" وأعد تشغيل المخدم لديك. 2 اقتباس
0 Flutter Dev نشر 22 يناير 2022 الكاتب أرسل تقرير نشر 22 يناير 2022 بتاريخ On 20/1/2022 at 22:49 قال Wael Aljamal: حاول استخدام التعليمة التالية في بداية ملف PHP ini_set('default_charset', 'utf-8'); أو قم بتعديل ملف php.ini في ملف السيرفر لجعل ترميز النصوص utf8 عدل السطر: default_charset = "utf-8" وأعد تشغيل المخدم لديك. أظهر المزيد اهلا اخي الكريم شكرا لك اخي نعم الحل ناجح تم حل المشكلة للفائدة الكود كامل اصبح كالتالي: <?php require_once 'con.php'; $sql="SELECT * FROM Users"; $con -> set_charset("utf8"); $stmt = $con->prepare($sql); $stmt->execute(); $result = $stmt->get_result(); $array = array(); while ($row = mysqli_fetch_assoc($result)) { $array[] = $row; } echo ($result) ? json_encode(array("code" => 1, "result"=>$array)) : json_encode(array("code" => 0, "message"=>"Data not found !")); ?> بتاريخ On 20/1/2022 at 19:46 قال بلال زيادة: هل يمكنك تحويل ترميز الريسبونس إلى utf8 عن طريق String body = jsonDecodeUtf8(response.bodyBytes); أو يمكنك إضافة الدالة utf8.decode إلى response.bodyBytes كما في الطريقة التالية json.decode(utf8.decode(response.bodyBytes)) إذا لم ينجح ذلك تأكد من شكل الريسبونس الي راجع من api و يكون بالعربية. أظهر المزيد كل الشكر لك اخي الكريم تم حل المشكلة وارفق الحل في المشاركة للفائدة 1 اقتباس
السؤال
Flutter Dev
تحيه طيبه للجميع
لدي مشروع فلاتر مرتبط بقاعدة بيانات mysql
أحاول عرض البيانات للمستخدمين التي تم تخزينها مسبقا على قاعدة البيانات ولكن المشكلة ان الكلمات العربية تظهر على شكل استفهام ؟؟؟؟؟ بشكل هذا
ما هو الحل لجعل النصوص العربية تظهر بشكل الصحيح ياليت اذا احد لديه فكره يفيدنا
الكود المستعمل كالتالي:
مع العلم انني قمت بستعمل الطريقة التالية ولكن بدون فأئده :
String body = utf8.decode(response.bodyBytes); print(body);
بنسبة الى كود PHP
شكرا لكم
تم التعديل في بواسطة مروان مروان35 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.