سؤال
عندما أحاول تنفيذ هذا الرمز لطباعة سلسلة عربية: print("إضافة");
أحصل على هذا الإخراج: إضاÙØ©
. إذا كنت UTF8_DECODE () سأحصل عليها ?????
. لدي "AddLanguage AR" في تكوين Apache الخاص بي ولكنه لا يساعد. كيف أقوم بطباعة هذه السلسلة العربية؟
المحلول
قم أيضًا بتعيين لغة صفحتك على UTF8 على سبيل المثال:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ثم انظر إذا عملت. إذا لم ينجح ذلك ، فاذهب وتحقق من ذلك ، فهو حل كامل للغة العربية باستخدام PHP:
http://www.ar-php.org/en_index_php_arabic.html
قد ترغب في التحقق من هذا أيضًا:
نصائح أخرى
قد يكون من الضروري الإشارة إلى المتصفح الذي تستخدمه-أظن أنه UTF-8.
لتحقيق ذلك ، يمكنك محاولة وضع هذا الجزء من التعليمات البرمجية في بداية البرنامج النصي الخاص بك ، قبل إنشاء أي إخراج:
header('Content-type: text/html; charset=UTF-8');
[
UTF8_DECODE][1]
سأحاول فك تشفير سلسلة من UTF-8 إلى LATIN1 ، والتي ليست مناسبة للشخصيات العربية-ومن هنا جاء '?'
الشخصيات.
قد ترغب في ضبط
default_charset = "utf-8"
في الخاص بك php.ini
. charset الافتراضي يرشد التوجيه الخادم لإنتاج رأس نوع المحتوى الصحيح.
يمكنك أيضًا القيام بذلك في وقت التشغيل:
ini_set('default_charset', 'utf-8');
قد ترغب أيضًا في التحقق من خط المتصفح إذا كان لديه دعم عربي. التزم بخطوط مشتركة مثل Arial Unicode و Times New Roman.
نحن سوف،
أولاً: أضف بحلول بداية صفحة HTML
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
ثانياً: إذا كنت تستخدم بيانات Ajax Encode باستخدام EncodeUricomponent
ثالثًا: يجب أن يكون السطر الأول من صفحة PHP الخاصة بك
header('Content-Type: text/html; charset=utf-8');
وفك تشفير البيانات المرسلة إلى PHP باستخدام urldecode
يعتبر،