تشفير JSON والأحرف الخاصة
أثناء تشفير المصفوفات باستخدام وظيفة json_encode()، قد يحدث أن يتم تحويل العناصر التي تحتوي على أحرف خاصة إلى سلاسل فارغة. يكون هذا السلوك ملحوظًا بشكل خاص مع الأحرف مثل حقوق الطبع والنشر أو رموز العلامات التجارية.
لحل هذه المشكلة، تأكد من أن جميع بيانات السلسلة مشفرة بـ UTF-8 قبل تشفيرها كـ JSON. يمكن تحقيق ذلك باستخدام array_map() بالتزامن مع وظيفة utf8_encode():
$arr = array_map('utf8_encode', $arr);
$json = json_encode($arr);
كما هو مذكور في دليل PHP، يتطلب json_encode() أن تكون جميع بيانات السلسلة بتشفير UTF-8. من خلال تشفير عناصر المصفوفة إلى UTF-8 قبل تشفير JSON، نضمن تمثيل الأحرف الخاصة بشكل صحيح في مخرجات JSON.
للتوضيح، دعونا نقارن نتائج تشفير مصفوفة باستخدام UTF-8 وبدونه. الترميز:
بدون تشفير UTF-8:
$arr = ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"];
$json = json_encode($arr); // {"funds":null}
بترميز UTF-8:
$arr = array_map('utf8_encode', ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"]);
$json = json_encode($arr); // {"funds":"ComStage STOXX\u00c2\u00aeEurope 600 Techn NR ETF"}
من خلال تطبيق ترميز UTF-8، يتم تمثيل الأحرف الخاصة بشكل صحيح في إخراج JSON. تذكر استخدام utf8_encode() بشكل متسق للتشفير الصحيح.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3