في مشروع اليوم ، واجهت الموقف حيث كنت بحاجة إلى تشفير الأحرف الصينية مع JavaScript ثم فك تشفيرها مع Unescape. عند اختبار قطاع الكود ، كان لدي رمز مشوه.
الوضع المحدد هو كما يلي:
أولاً ، استخدم EditPlus لفتح اختبار صفحة الاختبار. html وتحرير رمز HTML التالي:
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3 xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv = "content-type" TestStr = Escape ("wulin.com") ؛ document.write (testStR) ؛ </script> </body> </html>طباعة الصفحة:
٪ UFFFD ٪ U0171 ٪ UFFFD ٪ U05AE ٪ UFFFD ٪ UFFFD ٪ UFFFD
في هذا الوقت ، يمكننا أن نرى أن الموقف خاطئ. إنه خطأ بالفعل من حيث عدد الأحرف المقابلة للأحرف الصينية!
ثم استخدم الكود التالي لاختبار الأحرف الصينية التي تم فك تشفيرها بواسطة unescape:
var relstr = unescape ("٪ ufffd ٪ u0171 ٪ ufffd ٪ u05ae ٪ ufffd ٪ uffd") ؛ document.write (relstr) ؛يظهر رمز القمامة: "
حل:
فتحت ملف test.html مع Dreamweaver ووجدت المشكلة!
الجزء الأصلي
var testStr = Escape ("wulin.com") ؛يصبح
var teststr=escape("ű֮");يمكن ملاحظة أنه ناتج عن الترميز الأولي للمحرر!
قم بتغيير الأحرف الصينية في Dreamweaver ، Rerun Test.html ، واحصل على الترميز المقابل:
٪ U811A ٪ U672C ٪ U4E4B ٪ U5BB6
ثم استخدم unescape لفك التشفير:
var relstr = unescape ("٪ u811a ٪ u672c ٪ u4e4b ٪ u5bb6") ؛ document.write (relstr) ؛ثم حصلت على الشخصية الصينية الصحيحة الأصلية: wulin.com!