Hari ini saya mengalami masalah yang sangat ajaib. Pengguna mengatakan kepada saya bahwa formulir di situs web ini tidak dapat memperoleh nilai pengembalian setelah dikirim ke sistem kueri. Hasil kueri adalah 0 catatan, tetapi nilainya dapat dicari oleh eksekusi HTML murni lokal. Saya memverifikasi sendiri dan ternyata ini benar. Selain itu, membandingkan parameter yang dikirimkan dengan mendapatkan di kedua sisi, kecuali untuk nilai -nilai yang berbeda dari bidang, jumlah parameternya sama, sehingga dapat dipertimbangkan bahwa itu mungkin merupakan dampak dari masalah pengkodean.
Setelah membuka dua file secara terpisah, saya menemukan bahwa pengkodean di kedua sisi memang tidak konsisten, dan servernya adalah GB2312. Parameter yang lewat penyandian UTF-8 tidak dapat diuraikan secara normal di masa lalu, jadi saya membiarkan anjing mencari dan menemukan properti yang jarang digunakan pada formulir.
Salinan kode adalah sebagai berikut:
terima-charset = ”GB2312 ″
Properti ini sangat menarik. Anda dapat mengatur formulir untuk menyandikan konten, jadi cukup tambahkan properti ini ke formulir.
Tapi itu sangat menjijikkan. IE tidak mendukung properti ini, jadi saya harus meretas metode onsubmit () dari formulir dan menambahkan
Salinan kode adalah sebagai berikut:
Onsubmit = "Document.Charset = 'GB2312';"
Masalahnya benar -benar terpecahkan.