วันนี้ฉันพบปัญหามหัศจรรย์มาก ผู้ใช้บอกฉันว่าแบบฟอร์มในเว็บไซต์นี้ไม่สามารถรับค่าคืนได้หลังจากถูกส่งไปยังระบบการสืบค้น ผลลัพธ์การสืบค้นคือ 0 ระเบียน แต่ค่าสามารถค้นหาได้โดยการดำเนินการ HTML บริสุทธิ์ในท้องถิ่น ฉันตรวจสอบตัวเองและปรากฎว่านี่เป็นเรื่องจริง ยิ่งไปกว่านั้นการเปรียบเทียบพารามิเตอร์ที่ส่งโดยทั้งสองด้านยกเว้นค่าที่แตกต่างกันของฟิลด์จำนวนพารามิเตอร์เหมือนกันดังนั้นจึงอาจพิจารณาว่าอาจเป็นผลกระทบของปัญหาการเข้ารหัส
หลังจากเปิดไฟล์สองไฟล์แยกกันฉันพบว่าการเข้ารหัสทั้งสองด้านนั้นไม่สอดคล้องกันอย่างแท้จริงและเซิร์ฟเวอร์คือ GB2312 พารามิเตอร์ที่ผ่านการเข้ารหัส UTF-8 ไม่สามารถแยกวิเคราะห์ได้ตามปกติในอดีตดังนั้นฉันจึงปล่อยให้สุนัขค้นหาและค้นหาคุณสมบัติที่ใช้ไม่ค่อยได้ใช้ในแบบฟอร์ม
การคัดลอกรหัสมีดังนี้:
Accept-Charset =” GB2312″
สถานที่ให้บริการนี้น่าสนใจมาก คุณสามารถตั้งค่าแบบฟอร์มเพื่อเข้ารหัสเนื้อหาดังนั้นเพียงเพิ่มคุณสมบัตินี้ในแบบฟอร์ม
แต่มันน่าขยะแขยงมาก IE ไม่สนับสนุนคุณสมบัตินี้ดังนั้นฉันจึงต้องแฮ็ควิธีการ onsubmit () ของแบบฟอร์มและเพิ่ม
การคัดลอกรหัสมีดังนี้:
onsubmit =” document.charset = 'gb2312'; "
ปัญหาได้รับการแก้ไขอย่างสมบูรณ์