Untuk mengatasi masalah transmisi parameter yang kacau di halaman gb2312 dan utf-8 di bawah situs ASP yang sama, Anda hanya perlu mengikuti empat poin berikut dengan ketat. ①. Gunakan pengkodean yang benar untuk file halaman, gb2312 menggunakan ANSI, dan utf-8 menggunakan utf-8;
②.Atur CODEPAGE yang benar dalam kode ASP, gunakan 936 untuk gb2312, dan 65001 untuk utf-8;
③.Atur rangkaian karakter yang benar dalam kode HTML, gunakan gb2312 untuk gb2312, dan gunakan utf-8 untuk utf-8;
④. Enkode nilai parameter yang diteruskan menggunakan fungsi escape js;
Kode sampel
t1.asp (pengkodean ANSI):
Copy kode kodenya sebagai berikut:
<%@LANGUAGE=KODE VBSCRIPT=936%>
<%Sesi.CodePage=936%>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<kepala>
<meta http-equiv=Jenis Konten konten=teks/html; charset=gb2312 />
<title>Halaman(gb2312)-vevb.com</title>
</kepala>
<tubuh>
<tipe skrip=teks/javascript>
document.write(<a href='t2.asp?keyword= + escape(木子屋) + '>木子屋</a>);
</skrip>
<br/>
<%
Respon.Tulis(Permintaan.QueryString(kata kunci))
%>
</tubuh>
</html>
t2.asp (pengkodean utf-8):
Copy kode kodenya sebagai berikut:
<%@LANGUAGE=KODE VBSCRIPT=65001%>
<%Sesi.CodePage=65001%>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<kepala>
<meta http-equiv=Jenis Konten konten=teks/html; charset=utf-8 />
<title>Halaman(utf-8)-vevb.com</title>
</kepala>
<tubuh>
<tipe skrip=teks/javascript>
document.write(<a href='t1.asp?keyword= + escape(木子屋) + '>木子屋</a>);
</skrip>
<br/>
<%
Respon.Tulis(Permintaan.QueryString(kata kunci))
%>
</tubuh>
</html>