เพื่อแก้ปัญหาการส่งพารามิเตอร์ที่อ่านไม่ออกในหน้า gb2312 และ utf-8 ภายใต้ไซต์ ASP เดียวกัน คุณจะต้องปฏิบัติตามสี่จุดต่อไปนี้อย่างเคร่งครัดเท่านั้น 1. ใช้การเข้ารหัสที่ถูกต้องสำหรับไฟล์เพจ gb2312 ใช้ ANSI และ utf-8 ใช้ utf-8
2. ตั้งค่า CODEPAGE ที่ถูกต้องในโค้ด ASP ใช้ 936 สำหรับ gb2312 และ 65001 สำหรับ utf-8
3. ตั้งค่าชุดอักขระที่ถูกต้องในโค้ด HTML ใช้ gb2312 สำหรับ gb2312 และใช้ utf-8 สำหรับ utf-8
④ เข้ารหัสค่าพารามิเตอร์ที่ส่งผ่านโดยใช้ฟังก์ชัน Escape ของ js
รหัสตัวอย่าง
t1.asp (การเข้ารหัส ANSI):
คัดลอกรหัสรหัสดังต่อไปนี้:
<%@LANGUAGE=รหัส VBSCRIPT=936%>
<%เซสชัน.CodePage=936%>
<!DOCTYPE html สาธารณะ -//W3C//DTD XHTML 1.0 การเปลี่ยนผ่าน//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<หัว>
<meta http-equiv=เนื้อหาประเภทเนื้อหา=ข้อความ/html; charset=gb2312 />
<title>หน้า(gb2312)-vevb.com</title>
</หัว>
<ร่างกาย>
<ประเภทสคริปต์=ข้อความ/จาวาสคริปต์>
document.write(<a href='t2.asp?keyword= + Escape(木子屋) + '>木子屋</a>);
</สคริปต์>
<br/>
-
Response.Write (คำขอ QueryString (คำหลัก))
-
</ร่างกาย>
</html>
t2.asp (การเข้ารหัส utf-8):
คัดลอกรหัสรหัสดังต่อไปนี้:
<%@LANGUAGE=รหัส VBSCRIPT=65001%>
<%เซสชัน.CodePage=65001%>
<!DOCTYPE html สาธารณะ -//W3C//DTD XHTML 1.0 การเปลี่ยนผ่าน//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<หัว>
<meta http-equiv=เนื้อหาประเภทเนื้อหา=ข้อความ/html; charset=utf-8 />
<title>หน้า(utf-8)-vevb.com</title>
</หัว>
<ร่างกาย>
<ประเภทสคริปต์=ข้อความ/จาวาสคริปต์>
document.write(<a href='t1.asp?keyword= + Escape(木子屋) + '>木子屋</a>);
</สคริปต์>
<br/>
-
Response.Write (คำขอ QueryString (คำหลัก))
-
</ร่างกาย>
</html>