Semua pengkodean halaman web saya adalah UTF-8. Ketika browser dibuka dan tidak memasukkan data ke dalam database (main.asp), itu langsung membaca data dan browse (showall.asp), dan semuanya normal; Tetapi ketika Main.asp memasukkan data ke dalam tabel akses melalui Ajax, dan kemudian menelusuri halaman showall.asp, semua konten dalam pernyataan respons.write ('Cina') kacau, bahkan jika halaman showall.asp tidak berisi data dari database, masih dikerahkan. Ketika saya mengedit kode sumber halaman web yang ditelusuri dalam buku catatan, saya menemukan bahwa penyandiannya menjadi ANSI.
Jadi tambahkan saja di depan halaman showall.asp
<%@Language = "vbscript" codepage = "65001"%>
<%Session.codepage = 65001%>
<%Session.codepage = 65001%> dapat menyelesaikan masalah.
Jika halaman web Anda adalah pengkodean UTF-8, silakan tambahkan ke baris pertama kode:
<%@Language = "vbscript" codepage = "65001"%>
Jika halaman web Anda dikodekan berdasarkan GB2312, silakan tambahkan ke baris pertama kode:
<%@Language = "vbscript" codepage = "936"%>
CATATAN: Saya memecahkan kode yang kacau ASP melalui metode ini. Harap dicatat 2 poin di sini
1. <%@Language = "vbscript" codepage = "65001"%> Baris kode ini harus ditempatkan pada baris pertama halaman
Inilah intinya:
2. <%@Language = "vbscript" codepage = "936"%> dan <meta http-equiv = "tipe konten" konten = "teks /html; charset = gb2312" />
<%@Language = "vbscript" codepage = "65001"%> dan <meta http-equiv = "konten tipe" content = "text /html; charset = utf-8" />
response.write Metode untuk output UTF-8
Untuk beradaptasi dengan kebutuhan kontrol XMLHTTP, kontrol ini hanya bisa mendapatkan output yang benar saat mendapatkan konten halaman web UTF-8-encoded. Saya mencoba berbagai metode dan bahkan menggunakan ADODB.Steam untuk mentranskode pada server ASP. Kemudian, saya melihat sebuah artikel, cukup tambahkan kode berikut ke ASP. Saya mencobanya dan itu berhasil! Hanya tidak tahu mengapa.
Response.contentType = "Teks/html"
Response.addheader "tipe konten", "teks/html; charset = utf-8"
Response.codepage = 65001
Response.charset = "UTF-8"
Response.binarywrite (chrb (239))
Response.binarywrite (chrb (187))
Response.binarywrite (chrb (191))
Selanjutnya, gunakan response.write untuk secara langsung menghasilkan konten, dan klien akan mendapatkan konten yang dikodekan dalam UTF-8.
Response.write solusi untuk mengoutput kode kacau
Dalam banyak kasus, kami tidak terlalu memperhatikan beberapa detail.
Misalnya, selama pengembangan ASP, hal yang paling merepotkan adalah masalah decoding dari halaman web
Saya sedang mengembangkan beberapa situs web tradisional Cina sekarang, dan perusahaan menetapkan bahwa decoding internasional UTF-8 diperlukan.
Jadi masalah decoding akan mengganggu Anda ...
Jangan lihat codepage = "vbscript" terkecil <%@language = "vbscript" = "65001"%>
Kode ini karena kode ini sangat berguna, terutama dalam decoding. Misalnya, banyak orang akan memiliki kode yang kacau saat menggunakan respons. Metode penulisan untuk mengeluarkan string Cina, dan tidak peduli bagaimana Anda menambahkan respons.charset = "UTF-8" dan sesi.