سؤال:
رمز المدونة الخاص بي هو UTF-8. في بعض الأحيان عند فتح الصفحة ، يكون فارغًا ، ومنعشًا ، سيكون طبيعيًا ، ولكن عند عرض الملف المصدر. كلاهما تحت IE6 و Firefox طبيعيان ، لكن هذا يحدث أحيانًا تحت IE7.
في البداية ، كنت أظن أنها كانت مشكلة في IDC ، لكنني فكرت لاحقًا في JS ، CSS ، بنية الصفحة ، إلخ. عن طريق الصدفة فكرت في الترميز. بعد كل شيء ، لم تكن مشكلة الترميز مضطربة من قبلي مرة أو مرتين.
يحل:
<title> wulin.com </title>
<meta http-equiv = content-type content = text/html ؛ charset = gb2312 />
ترتيب التبديل
<meta http-equiv = content-type content = text/html ؛ charset = gb2312 />
<title> lc'blog </title>
سبب:
لماذا تحدث هذه المشكلة مع IE7 فقط؟ هذا لأنه عندما تقوم IE7 بتوزيع الترميز على الويب ، يتم إرسال العلامات الموجودة في HTML ، ثم يتم إرسال الرسائل الموجودة في رأس HTTP ، في حين أن المتصفحات في سلسلة Mozilla هي عكس ذلك تمامًا.
نظرًا لأن الصفحة المشفرة UTF-8 تمثل حرفًا صينيًا مع 3 بايت ، فإن GB2313 العادي أو Big5 هما اثنان. عند إخراج الصفحة ، بسبب الأسباب المذكورة أعلاه ، عندما يقوم المتصفح بتوزيع ويخرج محتوى <title> </title> ، إذا كانت هناك أحرف عرضية غريبة أمام </title> ، فإن IE7 يعامل UTF-8 كما يظهر اثنين من البايتات ونصف حرف صيني. في هذا الوقت ، سيتم دمج الحرف النصف الصيني مع <of </title> في شخصية مشوهة ، مما يتسبب في عدم قدرة IE7 على قراءة الجزء <title> ، مما يجعل الصفحة بأكملها فارغة وإخراج. إذا نظرت إلى الملف المصدر في هذا الوقت ، فستجد أن سطح الورقة بالكامل قد تم إخراجها بالفعل.
لذلك ، فإن الحل الأسهل هو وضع تعريف الحرف في علامة <head> </head> لملف صفحة الويب قبل <meta http-equiv = content-type content = text/html ؛ charset = utf-8 /> في <title> </title>.
في الواقع ، فإن إصدارات الترميز الأخرى لديها أيضًا مشاكل مماثلة ، لكن الترميز الافتراضي للمتصفح هو GBK ، لذلك من غير المرجح أن يلاحظ ذلك.