واجهت اليوم مشكلة سحرية للغاية. أخبرني المستخدم أن النموذج الموجود على هذا الموقع لا يمكنه الحصول على قيمة الإرجاع بعد إرساله إلى نظام الاستعلام. نتيجة الاستعلام هي 0 سجلات ، ولكن يمكن البحث عن القيمة عن طريق تنفيذ HTML النقي المحلي. لقد تحقق من ذلك بنفسي واتضح أن هذا صحيح. علاوة على ذلك ، عند مقارنة المعلمات المقدمة من GETs على كلا الجانبين ، باستثناء القيم المختلفة للحقول ، فإن عدد المعلمات هو نفسه ، لذلك قد يعتبر أنه قد يكون تأثير مشكلة الترميز.
بعد فتح الملفتين بشكل منفصل ، وجدت أن الترميزات على كلا الجانبين كانت غير متسقة بالفعل ، وكان الخادم GB2312. لا يمكن تحليل المعلمات التي تمرر ترميز UTF-8 بشكل طبيعي في الماضي ، لذلك سمحت للكلب بالبحث والعثور على خاصية نادراً ما تستخدم في النموذج.
نسخة الكود كما يلي:
قبول-charset = "GB2312 ″
هذه الخاصية ممتعة للغاية. يمكنك تعيين النموذج لتشفير المحتوى ، لذا فقط أضف هذه الخاصية إلى النموذج.
لكنه مثير للاشمئزاز للغاية. IE لا يدعم هذه الخاصية ، لذلك اضطررت إلى اختراق طريقة OnSubmit () للنموذج وإضافة
نسخة الكود كما يلي:
onSubmit = "document.charset = 'gb2312' ؛"
تم حل المشكلة بالكامل.