Dalam proyek web Java, metode penyelesaian kode kacau Cina dirangkum sebagai berikut
Kasus pertama: Memanggil halaman JSP untuk menampilkan kode yang kacau di China <BR /> Deskripsi Masalah: Memanggil halaman JSP melalui browser, kode kacau muncul dalam konten Cina yang ditampilkan di browser.
Solusi: Pertama, konfirmasikan bahwa ketika JSP ini menyimpan konten file di editor, ia menggunakan format pengkodean UTF-8, dan kemudian menambahkan <%@ pageencoding = "UTF-8"%> ke awal halaman JSP untuk menyelesaikan masalah ini dari Cina yang kacau ini
Kasus Kedua: Memanggil Halaman Servlet Menampilkan Kode Berkaca
Deskripsi Masalah: Saat memanggil servlet melalui browser, konten yang ditampilkan dalam servlet tampak kacau.
Solusi: Sebelum servlet menggunakan objek respons ke output, jalankan response.setContentType ("Teks/html; charset = UTF-8"); Atur pengkodean konten output ke UTF-8.
Kasing ketiga: Parameter kacau lewat dalam bentuk pos
Deskripsi Masalah: Ketika parameter diserahkan ke JSP atau Servlet yang sesuai melalui elemen formulir dalam JSP, HTML, atau Servlet, parameter yang diterima dalam JSP atau Servlet yang diterima ditampilkan dalam bahasa Cina.
Misalnya:
Kirimkan kode JSP sebagai berikut:
<%@ page language = "java" pageEncoding = "UTF-8"%> <Html> <Head> <title> masukkan formulir </iteme> </head> <body> <form id = "inputform" name = "inputform" Metode = "POST" ACTION = "DISPLAY.JSP"> nama pengguna: <input type = "TEXT" USOUTE = " name = "password"/> <br/> <input type = "kirim" name = "kirim" value = "kirim" // </form> </body> </html>
Kode JSP yang menerima parameter adalah sebagai berikut:
<% @ page language = "java" pageEncoding = "UTF-8"%> <html> <head> <tilte> menerima formulir </itement> </head> <body> <% masukkan request.setcharacterencoding ("UTF-8"); %> Nama pengguna: <%= request.getParameter ("nama pengguna")%> <br/> Kata sandi: <%= request.getParameter ("kata sandi")%> <br/> </body> </html>Solusi: Sebelum menerima parameter POST yang dikirimkan, gunakan permintaan. Lihat Konten Sisipkan dalam formulir penerima. Tentu saja, yang terbaik adalah menggunakan filter Cina untuk masalah yang kacau semacam ini.
Kasing keempat: Metode URI melewati parameter kacau
Deskripsi Masalah: Saat melewati parameter menggunakan formulir, Anda dapat melewati pos atau mendapatkan. Formulir tidak berlaku. Anda juga dapat melewati parameter menggunakan metode tautan. Metode parameter yang lewat ini pada dasarnya adalah parameter lulus sebagai GET. Parameter yang dilewati dalam metode ini juga mungkin tampak kacau ketika muncul dalam bahasa Cina.
menyukai:
Salin kode sebagai berikut: <a href = "/webproject/display.jsp? Nama pengguna = zhang san & kata sandi = 123"> Tampilkan nama pengguna dan kata sandi </a>
Solusi: Inti dari masalahnya adalah bahwa metode pengkodean default dari konten parameter yang dilewati oleh metode GET ditanyakan ISO8859-1, dan menggunakan permintaan.setcharacterencoding ("UTF-8") tidak dapat menyelesaikan masalah. Untuk mengatasi masalah ini, memodifikasi file konfigurasi server Tomcat. Modifikasi baris 43 dari file conf/server.xml di direktori tomcat:
Sebelum modifikasi:
<Connector port = "8080" protocol = "http/1.1" maxthreads = "150" connectionTimeout = "200000" redirectport = "8443"/>
Konten yang dimodifikasi:
<Connector port = "8080" protocol = "http/1.1" maxthreads = "150" connectionTimeout = "200000" redirectport = "8443" uriencoding = "UTF-8"/>
Ini dapat menyelesaikan masalah yang kacau ini.
Situasi Kelima:
Deskripsi Masalah: Saat menggunakan beberapa pustaka kelas atau kerangka kerja, untuk mencapai internasionalisasi konten halaman, file properti yang sesuai perlu ditulis. Konten Cina dalam file Properties juga akan tampak kacau saat ditampilkan.
Solusi: Masalah kacau ini dapat diselesaikan dengan alat asli2ASCII di JDK. Gunakan perintah berikut:
Salin kode sebagai berikut: Native2ascii -encoding UTF -8 display.properties display_zh_cn.properties
Alasan untuk masalah yang kacau adalah bahwa kompiler Java hanya dapat menangani file karakter yang dikodekan oleh Latin-1 atau Unicode.
Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.