การเข้ารหัสหน้าเว็บทั้งหมดของฉันคือ UTF-8 เมื่อเบราว์เซอร์ถูกเปิดและไม่แทรกข้อมูลลงในฐานข้อมูล (main.asp) จะอ่านข้อมูลและการเรียกดูโดยตรง (showall.asp) และทุกอย่างเป็นเรื่องปกติ แต่เมื่อ main.asp แทรกข้อมูลลงในตารางการเข้าถึงผ่าน AJAX จากนั้นเรียกดูหน้า showall.asp เนื้อหาทั้งหมดในคำตอบการตอบสนองการเขียน ('จีน') จะอ่านไม่ออกแม้ว่าหน้า showall.asp จะไม่มีข้อมูลจากฐานข้อมูล เมื่อฉันแก้ไขซอร์สโค้ดหน้าเว็บที่เรียกดูในสมุดบันทึกฉันพบว่าการเข้ารหัสของเขากลายเป็น Ansi
ดังนั้นเพียงเพิ่มไว้ด้านหน้าของหน้า showall.asp
<%@language = "vbscript" codePage = "65001"%>
<%session.codePage = 65001%>
<%session.codePage = 65001%> สามารถแก้ปัญหาได้
หากหน้าเว็บของคุณคือการเข้ารหัส UTF-8 โปรดเพิ่มลงในบรรทัดแรกของรหัส:
<%@language = "vbscript" codePage = "65001"%>
หากหน้าเว็บของคุณถูกเข้ารหัสตาม GB2312 โปรดเพิ่มลงในบรรทัดแรกของรหัส:
<%@language = "vbscript" codePage = "936"%>
หมายเหตุ: ฉันแก้ไขรหัส ASP ที่อ่านไม่ออกด้วยวิธีนี้ โปรดทราบ 2 คะแนนที่นี่
1. <%@language = "vbscript" codePage = "65001"%> รหัสบรรทัดนี้จะต้องอยู่ในบรรทัดแรกของหน้า
นี่คือประเด็น:
2. <%@language = "vbscript" codePage = "936"%> และ <meta http-equiv = "เนื้อหาประเภท" เนื้อหา = "text /html; charset = gb2312" /> >>
<%@language = "vbscript" codePage = "65001"%> และ <meta http-equiv = "content-type" content = "text /html; charset = utf-8" />
response.write วิธีการส่งออก UTF-8
เพื่อที่จะปรับให้เข้ากับความต้องการของการควบคุม XMLHTTP การควบคุมนี้จะได้รับผลลัพธ์ที่ถูกต้องเมื่อได้รับเนื้อหาเว็บเพจที่เข้ารหัส UTF-8 ฉันลองใช้วิธีการต่าง ๆ และใช้ ADODB.steam เพื่อแปลงรหัสบนเซิร์ฟเวอร์ ASP ต่อมาฉันเห็นบทความเพียงเพิ่มรหัสต่อไปนี้ลงใน ASP ฉันลองแล้วมันก็ประสบความสำเร็จ! แค่ไม่รู้ว่าทำไม
Response.contentType = "ข้อความ/html"
Response.addheader "ประเภทเนื้อหา", "ข้อความ/html; charset = utf-8"
Response.codePage = 65001
Response.charset = "UTF-8"
Response.binaryWrite (Chrb (239))
Response.binaryWrite (Chrb (187))
Response.binaryWrite (Chrb (191))
ถัดไปใช้ Response.Write เพื่อส่งออกเนื้อหาโดยตรงและไคลเอนต์จะได้รับเนื้อหาที่เข้ารหัสใน UTF-8
Response.write Solution เพื่อส่งออกรหัสที่อ่านไม่ออก
ในหลายกรณีเราไม่ได้ให้ความสนใจกับรายละเอียดบางอย่างมากนัก
ตัวอย่างเช่นในระหว่างการพัฒนา ASP สิ่งที่ลำบากที่สุดคือปัญหาการถอดรหัสของหน้าเว็บ
ตอนนี้ฉันกำลังพัฒนาเว็บไซต์จีนดั้งเดิมและ บริษัท กำหนดว่าจำเป็นต้องมีการถอดรหัสระหว่างประเทศของ UTF-8
ดังนั้นปัญหาการถอดรหัสจะรบกวนคุณ ...
อย่าดูที่เล็กที่สุด <%@language = "vbscript" codePage = "65001"%>
รหัสนี้เป็นเพราะรหัสนี้มีประโยชน์มากโดยเฉพาะในการถอดรหัส ตัวอย่างเช่นหลายคนจะมีรหัสที่อ่านไม่ออกเมื่อใช้วิธีการตอบสนองการเขียนเพื่อส่งออกสตริงภาษาจีนและไม่ว่าคุณจะเพิ่มการตอบสนอง. charset = "UTF-8" และเซสชัน. codePage = 65001 มันจะไม่มีความช่วยเหลือดังนั้นเราจึงต้องการ <%@language = "vbscript"