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 Wael Aljamal نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 حاول استخدام التعليمة التالية في بداية ملف PHP ini_set('default_charset', 'utf-8'); أو قم بتعديل ملف php.ini في ملف السيرفر لجعل ترميز النصوص utf8 عدل السطر: default_charset = "utf-8" وأعد تشغيل المخدم لديك. 2 اقتباس
1 بلال زيادة نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 هل ترميز الحقول في قاعدة البيانات utf8mb4_unicode_ci ؟ 1 اقتباس
1 بلال زيادة نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 بتاريخ 16 دقائق مضت قال مروان مروان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 اقتباس
0 Flutter Dev نشر 20 يناير 2022 الكاتب أرسل تقرير نشر 20 يناير 2022 بتاريخ 2 دقائق مضت قال بلال زيادة: هل ترميز الحقول في قاعدة البيانات utf8mb4_unicode_ci ؟ مرحبا اخي الكريم نعم قمت بتجربة utf8mb4_unicode_ci وايضا utf8_general_ci والاثنين نفس المشكله مع العلم اني استعمل فلاتر ويب 1 اقتباس
0 Flutter Dev نشر 22 يناير 2022 الكاتب أرسل تقرير نشر 22 يناير 2022 بتاريخ On 1/21/2022 at 02: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 1/20/2022 at 23: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
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.