Baru -baru ini, perusahaan memiliki proyek Jepang. Karena digunakan untuk menggunakan CMS Cina yang dikembangkan dengan sendirinya dan tidak memisahkan paket bahasa, ia mengalami masalah kacau yang memicu sakit kepala selama proses konstruksi dan debugging situs web.
Alasan kode kacau
Karena ruang penyimpanan dari setiap pengkodean karakter berbeda, ketika karakter yang berbeda digunakan untuk membaca data, ketika ruang karakter terlalu kecil, itu tidak dapat ditampilkan secara normal.
Misalnya, set karakter karakter Cina umumnya GB2312. Jika Anda menggunakan UTF-8 untuk memaksa membaca dan mengubah karakter GB2312, mungkin ada kode yang kacau. Karena ruang penyimpanan set karakter UTF-8 lebih besar dari GB2312, ketika membaca menggunakan UTF-8, beberapa karakter GB2312 tidak ada dalam pengkodean, dan karakter yang tidak ada secara alami akan tampak kacau. Untuk file statis, jika pengkodean penyimpanan file tidak konsisten dengan pengaturan pengkodean (charset) di halaman web, kode kacau akan terjadi karena alasan di atas.
Di atas adalah analisis sederhana dari masalah kacau, yang melibatkan dukungan ASP untuk internasionalisasi saat menyelesaikan masalah yang ada.
Tiga fungsi yang terlibat: @codepage, response.codepage, session.codepage
Di bawah ini adalah bagian dari MSDN.
Pengaturan@codepageExplicitlyfectsliteralStringsinasingleresponse.response.codepageaffectsdynamicstringsinasinglereSponse, dan session.codepageaffectsdynamicstringsinasingleresponse.
Ketiga fungsi dapat mengatur pengkodean ASP, di mana @codepage setara dengan header dalam PHP dan harus dikeluarkan pada awal dokumen.
Dalam IIS sistem operasi Cina, standarnya adalah GB2312, nilai parameternya adalah: "936", dan dokumen Jepang perlu ditentukan codepage:
<%@Codepage = 932%>
Kami menggunakan fungsi ini untuk mengatur pengkodean dokumen untuk metode penggunaan spesifik: http://www.cloudward.net/techlife/article.asp?id=490
Seharusnya tidak ada masalah sekarang, bukan? Wow, masalahnya masih ada. Mempertimbangkan bahwa semua program ASP Perusahaan SEO perlu menghasilkan halaman statis. Halaman yang dihasilkan adalah semua ANSI default Windows, dan mereka masih memiliki kode kacau yang berisi karakter Jepang. Dengan cara ini, kita memerlukan fungsi ASP untuk menghasilkan file UTF-8 atau yang dikodekan Jepang. Kami menggunakan kode berikut untuk menyelesaikannya:
SetoBjStream = server.CreateObject ("adodb.stream")
TanpaBJStream
.Membuka
.Charset = "UTF-8" // Pengkodean, di sini Anda dapat mengubahnya menjadi penyandian apa pun
.Posisi = objstream.size
.Writetext = Pencat // Pensat adalah data tertulis
.Savetofilesserver.mappath ("patch/flilename.html"), 2 // menghasilkan jalur file
.Menutup
Endwith
Setobjstream = tidak ada
Masalah kode kacau setelah pengujian diselesaikan.