إذا كان برنامج ASP موجود في نفس الموقع ويوجد برنامج مشفر UTF-8 وبرنامج مشفر GB2312، بعد تصفح الصفحة المشفرة UTF-8 ثم تصفح صفحة GB2312 للموقع الحالي ستظهر الصفحة المشفرة GB2312. شخصيات مشوشة
المشكلة هي أنه عند تصفح ترميز UTF-8، يستخدم الخادم محرك UTF-8 لإخراج HTML بشكل افتراضي. عند تصفح صفحة GB2312، فإنه لا يزال يستخدم UTF-8 لإخراج ترميز GB2312 .
أزعجتني هذه المشكلة طوال الصباح، وأخيراً تم حل المثال الأزرق.
أولاً، دعونا نلقي نظرة على الخصائص الأربع التي يوفرها كائن الجلسة.
1.قراءة/كتابة صفحة التعليمات البرمجية. نوع عدد صحيح.
يحدد صفحة الرموز المستخدمة لعرض محتوى الصفحة في المستعرض. صفحة الرموز هي القيمة الرقمية لمجموعة الأحرف، وقد تستخدم اللغات والمواقع المختلفة صفحات رموز مختلفة. على سبيل المثال، يتم استخدام صفحة الرموز ANSI 1252 للغة الإنجليزية الأمريكية ومعظم اللغات الأوروبية. يتم استخدام صفحة الرموز 932 للأحرف اليابانية. (هذه هي السمة التي سنستخدمها هنا)
2.LCID القراءة/الكتابة. نوع عدد صحيح.
يحدد معرف لغة الصفحة (LCID) المرسل إلى المتصفح. LCID هو اختصار قياسي دولي يحدد المنطقة بشكل فريد. على سبيل المثال، يحدد 2057 رمز العملة للمنطقة الحالية بـ "£". يمكن أيضًا استخدام LCID في عبارات مثل FormatCurrency، طالما أن هناك معلمة LCID اختيارية. يمكن أيضًا تعيين LCID في توجيه معالجة ASP <%...%>، ويكون له الأولوية على الإعداد في سمة LCID الخاصة بالجلسة. يتم توفير قائمة بتعليمات معالجة ASP لاحقًا في هذا الفصل.
3.SessionID للقراءة فقط. نوع طويل.
إرجاع معرف الجلسة لهذه الجلسة، الذي تم إنشاؤه بواسطة الخادم عند إنشاء الجلسة. فريد فقط خلال عمر كائن التطبيق الأصلي، بحيث يمكن إعادة استخدامه عند بدء تشغيل تطبيق جديد
4. مهلة القراءة/الكتابة. نوع عدد صحيح.
يحدد فترة المهلة بالدقائق لهذه الجلسة. إذا لم يقوم المستخدم بالتحديث أو طلب صفحة ويب خلال فترة المهلة، فستنتهي الجلسة. ويمكن تعديله في كل صفحة ويب حسب الحاجة. القيمة الافتراضية هي 10 دقيقة. يجب أن تكون هذه المرة أقصر على المواقع ذات الاستخدام العالي!
فيما يلي بعض صفحات رموز ANSI شائعة الاستخدام:
<%@ codepage=65001%>UTF-8
<%@ codepage=936%>الصينية المبسطة
<%@ codepage=950%>الصينية التقليدية
<%@ codepage=437 %>الإنجليزية الأمريكية/الكندية
<%@ codepage=932 %>اليابانية
<%@ codepage=949 %>الكورية
<%@ codepage=866 %>الروسية
الآن دعونا نتحدث عن الطرق والاستخدامات لحل المشكلة.
أضف التعليمة البرمجية التالية إلى الملف المشترك conn.asp المستخدم في برنامج موقع الويب:
1. تمت الإضافة إلى صفحة الترميز Gb2312
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
وأخيرا إضافة المزيد
<%Response.charset = "BG2312"%>
2. أضف <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> إلى صفحة ترميز utf-8
<%Session.CodePage=65001%>
<%Response.charset = "utf-8"%>
هذه هي الطريقة الأبسط والأكثر فعالية.