انظر إلى الكود المستنسخ أولاً
1 ، gb2312.html يتم ترميز الملف على أنه GB2312
نسخة الكود كما يلي:
<! doctype html>
<html>
<head>
<title> </title>
<meta charset = "gb2312"/>
<style>
ص {
اللون: أحمر.
}
</style>
</head>
<body>
<button onClick = "loadjs ('Utf8.js' ، 'Utf-8')"> اختبار </button>
<script>
تحميل الوظيفة (SRC ، charset) {
var script = document.createElement ('script') ؛
script.src = src ؛
script.charset = charset ؛
var head = document.getElementSbyTagName ('head') [0] ؛
head.appendchild (script) ؛
}
</script>
</body>
</html>
2. UTF8.JS ترميز الملف هو UTF-8
نسخة الكود كما يلي:
var p = document.createElement ('p') ؛
P.InnerHtml = 'ie cache يسبب رمز مشوهة' ؛
document.body.appendchild (p) ؛
تقوم وظيفة loadjs بإنشاء برنامج نصي بشكل ديناميكي ، وتعيين SRC ، ويضيفه إلى الرأس بعد Charset. هنا ، ستقدم كل نقرة على الزر UTF8.JS إلى الصفحة. سيقوم الكود في UTF.JS بإنشاء عنصر P لتعيين قطعة من النص ثم إضافته إلى الجسم.
عند النقر فوق الزر لأول مرة ، سيتم عرض النص بشكل طبيعي.
بعد المرة الثانية ، كان ترميز النص غير صحيح.
كما هو موضح
إذا لم تكن علامة البرنامج النصي علامة نصية تم إنشاؤها ديناميكيًا وتم كتابتها مباشرة على صفحة HTML ، فلا توجد مشكلة.
نسخة الكود كما يلي:
<script type = "text/javaScript" src = "utf8.js" charset = "utf-8"> </script>
إذا كنت تستخدم document.write لتحميل موارد JS ، فلن يحدث الخطأ.
نسخة الكود كما يلي:
<script>
وظيفة loadbywrite (url ، charset) {
var str = '<script type = "text/javaScript"' + 'src = "' + url + '" charset = "' + charset + '"> <' + '/script>' ؛
document.write (str) ؛
}
</script>
<script>
loadbywrite ('Utf8.js' ، 'UTF-8')
</script>
الحل هو استبدال ترتيب تعيين سمات SRC و Charset.
نسخة الكود كما يلي:
script.charset = charset ؛
script.src = src ؛
وهذا هو ، تعيين قيمة إلى charset أولا.