Solusi untuk masalah jsp yang kacau
15-07-2009 10:32
1. Alasan mengapa halaman JSP kacau adalah karena pengkodean kumpulan karakter tidak ditentukan di halaman. Solusinya: cukup gunakan kode berikut di awal halaman untuk menentukan pengkodean kumpulan karakter, <%@ halaman contentType= "teks /html; rangkaian karakter=gb2312"?
2. Karakter database kacau. Karakter kacau seperti ini akan menyebabkan karakter Cina yang Anda masukkan ke dalam database menjadi karakter kacau, atau karakter Cina yang Anda masukkan ke dalam database juga akan menjadi karakter kacau ketika dibaca dan ditampilkan :
Tambahkan kumpulan karakter yang dikodekan ke string koneksi database (hal yang sama berlaku untuk koneksi sumber data)
String Url="jdbc:mysql://localhost/digitgulf?
pengguna=root&kata sandi=root&useUnicode=true&characterEncoding=GB2312";
Dan gunakan kode berikut di halaman:
respon.setContentType("teks/html;charset=gb2312");
permintaan.setCharacterEncoding("gb2312");
3. Karakter kacau saat meneruskan karakter Mandarin sebagai parameter. Saat kita meneruskan karakter Mandarin sebagai parameter ke halaman lain, karakter kacau juga akan muncul.
Enkode parameter saat meneruskan parameter, seperti RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords)
Kemudian gunakan pernyataan berikut pada halaman parameter penerimaan untuk menerima kata kunci=new String(request.getParameter("keywords").getBytes("8859_1"));
Masalah inti dari karakter yang kacau masih merupakan masalah pengkodean kumpulan karakter. Selama ini dikuasai, masalah umum kode yang kacau dapat diselesaikan.
------------------------------------------
Sejak saya mengenal Java dan JSP, saya terus-menerus menangani masalah karakter Cina yang kacau di Java. Sekarang masalah tersebut akhirnya terselesaikan sepenuhnya.
1. Asal Usul Masalah Tionghoa Jawa
File inti dan kelas Java didasarkan pada unicode, yang menjadikan program Java baik untuk lintas platform, tetapi juga membawa beberapa masalah dengan karakter Cina yang kacau. Ada dua alasan utama: masalah kode kacau yang disebabkan oleh kompilasi file Java dan JSP itu sendiri dan masalah kode kacau yang disebabkan oleh interaksi program Java dengan media lain.
Pertama-tama, file sumber Java (termasuk JSP) kemungkinan besar berisi bahasa Mandarin, dan metode penyimpanan file sumber Java dan JSP didasarkan pada aliran byte. Jika Java dan JSP dikompilasi ke dalam file kelas, metode pengkodean yang digunakan berbeda file sumber. Jika pengkodean tidak konsisten, karakter kacau akan muncul. Berdasarkan kode kacau semacam ini, disarankan untuk tidak menulis bahasa Mandarin di file Java (bagian komentar tidak ikut dalam kompilasi, tidak masalah jika Anda menulis bahasa Mandarin). Jika Anda harus menulis, coba kompilasi secara manual dengan parameter -ecoding GBK atau -ecoding gb2312; untuk JSP, di header file Menambahkan <%@ page contentType="text/html;charset=GBK"%> atau <%@ page contentType="text/html;charset=gb2312"% > pada dasarnya dapat memecahkan masalah kode kacau seperti ini.
Artikel ini akan fokus pada jenis kode kacau yang kedua, yaitu kode kacau yang dihasilkan ketika program Java berinteraksi dengan media penyimpanan lain. Banyak media penyimpanan, seperti database, file, aliran, dll., didasarkan pada aliran byte. Ketika program Java berinteraksi dengan media ini, konversi antara karakter (char) dan byte (byte) akan terjadi, misalnya, dari sebuah halaman. Data yang dikirimkan dalam formulir penyerahan menampilkan karakter kacau dalam program Java.
Jika metode pengkodean yang digunakan dalam proses konversi di atas tidak konsisten dengan pengkodean byte asli, kemungkinan besar karakter yang kacau akan muncul.
2. Solusi
Untuk Tomcat yang populer, ada dua solusi:
1) Ubah D:Tomcatconfserver.xml dan tentukan format pengkodean browser sebagai "Cina Sederhana":
Caranya adalah dengan mencari
<Konektor port = "8080" maxThreads = "150" minSpareThreads = "25" maxSpareThreads = "75"
aktifkanLookups="false" redirectPort="8443"acceptCount="100"
connectionTimeout="20000"disableUploadTimeout="true" URIEncoding='GBK' />
Tag, teks tebal ditambahkan oleh saya.
Anda dapat memverifikasi apakah perubahan Anda berhasil seperti ini: Sebelum melakukan perubahan, di browser IE Anda di mana halaman kacau muncul, klik menu "Lihat | Pengkodean" dan Anda akan menemukan bahwa "Eropa Barat (ISO)" dipilih. Setelah perubahan, klik menu "View | Encoding" dan Anda akan menemukan bahwa "Cina Sederhana (GB2312)" dipilih.
b) Perbarui program Java. Program saya adalah sebagai berikut:
kelas publik ThreeParams memperluas HttpServlet {
public void doGet (permintaan HttpServletRequest, respons HttpServletResponse)
melempar ServletException, IOException {
respon.setContentType("teks/html; charset=GBK");
...
}
}
Diperlukan font tebal, dan fungsinya memungkinkan browser mengubah karakter Unicode menjadi karakter GBK. Dengan cara ini, konten halaman dan mode tampilan browser diatur ke GBK, sehingga tidak akan ada karakter yang kacau.
Solusi lengkap untuk bahasa Cina di bawah kucing jantan
Saya sedang mengembangkan proyek hari ini. Servernya adalah Tomcat, sistem operasinya adalah Artikel dan opini, akhirnya selesai. Namun ingatan yang baik belum tentu sebaik pena yang jelek, maka dari itu saya menuliskannya agar saya tidak lupa, dan juga untuk memberikan referensi yang baik bagi yang mengalami masalah yang sama:
(1) Halaman JSP dalam bahasa Mandarin, tetapi ketika Anda melihatnya, halamannya kacau:
Solusinya adalah dengan menggunakan <%@ page language="java" contentType="text/html;charset=GBK" %> dalam pengkodean halaman JSP. Karena masalah pengkodean ketika Jsp diubah menjadi file Java, oleh default beberapa server Ini adalah ISO-8859-1. Jika bahasa Mandarin dimasukkan langsung ke JSP, pasti akan ada masalah dengan Jsp yang memperlakukannya sebagai ISO8859-1. Kami dapat mengonfirmasi ini dengan melihat file perantara Java yang dihasilkan oleh Jasper.
(2) Saat menggunakan objek Permintaan untuk mendapatkan kode karakter Cina yang dikirimkan oleh pelanggan, akan muncul karakter kacau:
Solusinya adalah dengan mengkonfigurasi filter yaitu filter Servelet. Kodenya adalah sebagai berikut:
impor java.io.IOException;
impor javax.servlet.Filter;
impor javax.servlet.FilterChain;
impor javax.servlet.FilterConfig;
impor javax.servlet.ServletException;
impor javax.servlet.ServletRequest;
impor javax.servlet.ServletResponse;
kelas publik CharacterEncodingFilter mengimplementasikan Filter {
konfigurasi FilterConfig pribadi;
pengkodean String pribadi = "ISO8859_1";
kekosongan publik menghancurkan() {
Sistem.keluar.println(config);
konfigurasi = nol;
}
public void doFilter(Permintaan ServletRequest, respons ServletResponse,
Rantai FilterChain) menampilkan IOException, ServletException {
permintaan.setCharacterEncoding(pengkodean);
//chain.doFilter(permintaan, tanggapan);
chain.doFilter(permintaan, tanggapan);
}
public void init (konfigurasi FilterConfig) menampilkan ServletException {
ini.config = konfigurasi;
String s = config.getInitParameter("pengkodean");
jika (s != nol) {
pengkodean = s;
}
}
}
}
Konfigurasikan web.xml
<filter>
<nama-filter>Filter Pengkodean Karakter</nama-filter>
<filter-class>com.SetCharacterEncodingFilter</filter-class>
</filter>
<pemetaan filter>
<nama-filter>Filter Pengkodean Karakter</nama-filter>
<url-pattern>/*</url-pattern>
</pemetaan filter>
Jika situasi ini masih terjadi dalam kasus Anda, Anda dapat turun dan melihat apakah Anda memiliki situasi keempat. Apakah data yang dikirimkan oleh Formulir Anda dikirimkan menggunakan get. Secara umum, tidak ada masalah jika Anda menggunakan post untuk mengirimkannya , lihat solusi keempat.
Ada juga pemrosesan informasi yang mengandung karakter Cina. Kode pemrosesannya adalah:
dikemasdbJavaBean;
CodingConvert kelas publik
{
Konversi Pengkodean publik()
{
//
}
String publik keGb(String uniStr){
String gbStr = "";
jika(uniStr == nol){
uniStr = "";
}
mencoba{
byte[] tempByte = uniStr.getBytes("ISO8859_1");
gbStr = String baru(tempByte,"GB2312");
}
tangkapan(Pengecualian ex){
}
kembalikan gbStr;
}
String publik keUni(String gbStr){
String uniStr = "";
jika(gbStr == nol){
gbStr = "";
}
mencoba{
byte[] tempByte = gbStr.getBytes("GB2312");
uniStr = String baru(tempByte,"ISO8859_1");
}menangkap(Pengecualian ex){
}
kembalikan uniStr;
}
}
Anda juga dapat melakukan konversi langsung. Pertama, enkode string yang diperoleh dengan ISO-8859-1, lalu simpan pengkodean tersebut dalam array byte, lalu ubah array tersebut menjadi objek string.
String str=permintaan.getParameter("gadis");
Byte B[]=str.getBytes("ISO-8859-1");
Str=String baru(B);
Melalui konversi di atas, segala informasi yang disampaikan dapat ditampilkan dengan benar.
(3) Ketika permintaan Formget menggunakan request.getParameter("name") di server, karakter kacau dikembalikan; mengatur Filter menurut metode Tomcat tidak berfungsi, atau menggunakan request.setCharacterEncoding("GBK"); Masalahnya adalah Dalam hal metode pemrosesan transfer parameter: Jika Anda menggunakan metode doGet(permintaan HttpServletRequest, respons HttpServletResponse) di servlet untuk memprosesnya, meskipun sudah ditulis sebelumnya:
permintaan.setCharacterEncoding("GBK");
respon.setContentType("teks/html;charset=GBK");
Tidak berhasil juga, orang Cina yang kembali masih kacau! ! ! Jika Anda mengubah fungsi ini menjadi doPost(permintaan HttpServletRequest, respons HttpServletResponse) semuanya akan baik-baik saja.
Demikian pula, ketika menggunakan dua halaman JSP untuk memproses input formulir, alasan mengapa bahasa Mandarin dapat ditampilkan adalah karena metode post digunakan untuk meneruskannya, dan mengubahnya ke metode get masih tidak berhasil.
Terlihat bahwa Anda perlu memperhatikan saat menggunakan metode doGet() di servlet atau metode get di JSP. Bagaimanapun, ini melibatkan penyampaian informasi parameter melalui browser, yang mungkin menyebabkan konflik atau ketidakcocokan dalam rangkaian karakter yang umum digunakan.
Solusinya adalah:
1) Buka file server.xml Tomcat, temukan bloknya, dan tambahkan baris berikut:
Pengkodean URI=”GBK”
Lengkapnya harus sebagai berikut:
<Konektor port = "8080" maxThreads = "150" minSpareThreads = "25" maxSpareThreads = "75" aktifkanLookups = "false" redirectPort = "8443" terimaCount = "100" debug = "0" connectionTimeout = "20000" dinonaktifkanUploadTimeout = " benar" URIEncoding="GBK"/>
2) Mulai ulang kucing jantan, semuanya baik-baik saja.
Anda dapat mengetahui alasan mengapa Anda perlu bergabung dengan mempelajari file di bawah $TOMCAT_HOME/webapps/Tomcat-docs/config/http.html. Perlu dicatat bahwa jika Anda menggunakan UTF-8 di tempat ini, karakter kacau akan muncul di Tomcat selama proses transmisi. Jika tidak berhasil, ubah ke kumpulan karakter lain.
(4) Ada karakter Mandarin di halaman JSP dan karakter Mandarin di tombol, tetapi saat melihat halaman melalui server, muncul karakter kacau:
Solusinya adalah: Pertama, teks pesan yang dilokalkan tidak boleh disertakan langsung dalam file JSP, tetapi teks tersebut harus diperoleh dari Resource Bundle melalui tag <bean:message>. Anda harus meletakkan teks berbahasa Mandarin Anda di file Application.properties. File ini ditempatkan di bawah WEB-INF/classes/*. properti.Konten di dalamnya harus name="name" age="age", lalu saya meletakkan file ini di bawah WEB-INF/classes/properties/, dan kemudian menyandikannya sesuai dengan file Application.properties untuk membuat file Sumber Daya Cina. , dengan asumsi namanya adalah Application_cn.properties. Perintah native2ascii disediakan di JDK, yang dapat mewujudkan konversi pengkodean karakter. Temukan direktori tempat Anda menempatkan file Application.properties di lingkungan DOS. Jalankan perintah di lingkungan DOS. File sumber daya Cina Application_cn.properties yang dikodekan dalam GBK akan dihasilkan: native2ascii ?encoding gbk Application.properties Application_cn.properties perintah di atas. Nantinya, file Application_cn.properties dengan konten berikut akan dibuat: name=u59d3u540d age=u5e74u9f84, dikonfigurasi di Struts-config.xml: <message-resources parameter="properties.Application_cn"/>. Pada titik ini, lebih dari setengahnya pada dasarnya sudah selesai. Kemudian Anda harus menulis <%@ page Language="java" contentType="text/html;charset=GBK" %> di halaman JSP adalah Tulis <bean:message key=”name”>. Ketika perubahan ini muncul di halaman, nama Cina akan muncul. Hal yang sama berlaku untuk usia. Karakter Cina pada tombol juga diproses dengan cara yang sama.
(5) Kode yang ditulis ke database kacau:
Solusi : Konfigurasikan filter yaitu filter Servelet Kodenya sama dengan yang kedua kalinya.
Jika Anda terhubung langsung ke database melalui JDBC, kode konfigurasinya adalah sebagai berikut: jdbc:mysql://localhost:3306/workshopdb?useUnicode=true&characterEncoding=GBK.
Jika Anda menautkan melalui sumber data, yang di atas juga cocok. Jika Anda mengkonfigurasinya dengan benar, ketika Anda memasukkan bahasa Mandarin, itu akan menjadi bahasa Mandarin di database halaman yang menampilkan data. Language="java" contentType="text/html;charset=GBK" %>Baris kode ini. Perlu dicatat bahwa beberapa staf meja depan menggunakan Dreamver untuk menulis kode. Saat menulis Formulir, mereka mengubahnya menjadi jsp. Ada satu hal yang perlu diperhatikan, yaitu penyerahan Tindakan di Dreamver permintaan, dan Anda perlu mengirimkannya, karena ada dua metode pengiriman JSP: POST dan GET, tetapi kode yang dikirimkan oleh kedua metode ini masih sangat berbeda dalam hal pengkodean
Ringkasan artikel:
Di sini kita terutama berbicara tentang solusi untuk masalah jsp yang kacau
1. Masalah paling mendasar dari karakter yang kacau.
PHPCE.CN, Manual Desain
3. Cara menangani karakter yang kacau pada metode form get submission.
Jika Anda menggunakan metode get untuk mengirimkan bahasa Mandarin, halaman yang menerima parameter juga akan tampak kacau. Alasan kode kacau ini juga disebabkan oleh format pengkodean internal Tomcat iso8859-1. Tomcat akan mengkodekan karakter Cina menggunakan metode pengkodean default get, iso8859-1, dan menambahkannya ke URL setelah pengkodean, menghasilkan parameter kacau / dan diterima dari halaman.
Larutan:
A. Gunakan metode pertama dalam contoh di atas untuk memecahkan kode karakter yang diterima dan kemudian mentranskodenya.
B. Dapatkan menggunakan pengiriman url, dan pengkodean iso8859-1 telah dilakukan sebelum memasukkan url. Untuk memengaruhi pengkodean ini, Anda perlu menambahkan useBodyEncodingForURI="true" ke node Connector di server.xml
Konfigurasi atribut dapat mengontrol metode pengkodean karakter Cina Tomcat untuk metode get. Atribut di atas mengontrol pengiriman get untuk dikodekan menggunakan format pengkodean yang ditetapkan oleh request.setCharacterEncoding("UTF-8"). Oleh karena itu, secara otomatis dikodekan sebagai utf-8, dan halaman penerimaan dapat menerimanya secara normal. Tapi menurut saya proses pengkodean sebenarnya adalah Tomcat harus mengubah D:Tomcatconfserver.xml dan menentukan format pengkodean browser sebagai "Cina Sederhana":
<Port konektor = "8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
aktifkanLookups="false" redirectPort="8443"acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="benar"
nonaktifkanUploadTimeout="true" URIEncoding="UTF-8"/> PHPCE.CN, set URIEncoding="UTF-8" dalam manual desain dikodekan lagi, tetapi karena telah dikodekan sebagai utf-8, maka tidak akan dikodekan lagi. Jika pengkodean diperoleh dari URL, halaman penerima didekodekan sesuai dengan URIEncoding="UTF-8".
Anda dapat mengetahui alasan mengapa Anda perlu menambahkannya dengan mempelajari file di bawah $TOMCAT_HOME/webapps/tomcat-docs/config/http.html. Anda dapat memverifikasi apakah perubahan Anda berhasil seperti ini: sebelum melakukan perubahan, halaman kacau akan muncul di halaman Anda. Di browser IE, klik menu "View | Encoding" dan Anda akan menemukan bahwa "Eropa Barat (ISO)" dipilih. Setelah perubahan, klik menu "View | Encoding" dan Anda akan menemukan bahwa "Cina Sederhana (GB2312)" dipilih.
4. Mengatasi karakter kacau saat mengunggah file Saat mengunggah file, pengaturan formulirnya adalah enctype="multipart/form-data". Dengan cara ini file dikirimkan secara streaming. Jika Anda menggunakan komponen upload apach, Anda akan menemukan banyak kode yang kacau. Ini karena commons-fileupload.jar awal Apache memiliki bug, dan karakter Cina dikeluarkan dan didekodekan. Karena metode ini dikirimkan, pengkodean secara otomatis menggunakan format pengkodean default Tomcat iso-8859-1. Namun permasalahan karakter yang kacau adalah: Simbol khusus seperti titik, koma, dll menjadi karakter yang kacau, jika jumlah karakter Cina ganjil maka akan muncul karakter yang kacau .
Solusi: Unduh commons-fileupload-1.1.1.jar. Versi jar ini telah memecahkan bug ini.
Namun, saat mengekstrak konten, Anda masih perlu melakukan transkode karakter yang diekstraksi dari iso8859-1 ke utf-8. Semua karakter dan karakter Cina normal dapat diperoleh.
5. Kode Java mengenai permintaan url, menerima parameter kacau
Format pengkodean url bergantung pada URIEncoding="UTF-8" yang disebutkan di atas. Jika format penyandian ini disetel, berarti semua parameter karakter Mandarin pada URL harus dikodekan. Jika tidak, nilai parameter karakter Cina yang diperoleh semuanya kacau, seperti tautan Response.sendDerect ("/a.jsp?name=Zhang Dawei"); dan digunakan langsung di a.jsp
PHPCE.CN, Manual Desain
String name = request.getParameter("name"); yang Anda dapatkan adalah karakter yang kacau. Karena ketentuannya harus utf-8, maka redirectionnya harus ditulis seperti ini:
Response.sendDerect("/a.jsp?name=URLEncode.encode("Zhang Dawei","utf-8"); saja.
Apa yang akan terjadi jika parameter URIEncoding="UTF-8" ini tidak disetel? Jika tidak disetel, format pengkodean default iso8859-1 akan digunakan. Masalah muncul lagi, yang pertama adalah jika jumlah nilai parameternya ganjil, maka dapat diurai secara normal. Selain itu, jika karakter terakhir dalam bahasa Inggris, karakter tersebut dapat diurai secara normal, namun tanda baca China masih kacau. Sebaiknya, jika tidak ada tanda baca berbahasa Mandarin di parameter Anda, Anda dapat menambahkan simbol bahasa Inggris di akhir nilai parameter untuk menyelesaikan masalah yang kacau, lalu menghapus simbol terakhir setelah mendapatkan parameter. Bisa juga dikikis atau digunakan.
6. Mengenai permintaan url, kode skrip juga akan mengontrol pengalihan halaman jika parameter yang diterima kacau. Ini juga akan melibatkan parameter terlampir dan mengurai parameter pada halaman penerima. Jika parameter karakter Cina ini tidak melakukan proses pengkodean yang ditentukan oleh URIEncoding = "UTF-8", karakter Cina yang diterima oleh halaman penerima juga akan kacau. Pemrosesan dan pengkodean skrip merepotkan. Anda harus memiliki file yang sesuai dengan skrip pengkodean, dan kemudian memanggil metode dalam skrip untuk menyandikan karakter Cina.
7. Mengenai masalah jsp yang dibuka di MyEclipse, untuk proyek yang sudah ada, format penyimpanan file Jsp mungkin utf-8. Jika Eclipse baru diinstal, format pengkodean yang digunakan secara default untuk membuka adalah iso8859-1. Oleh karena itu, karakter Cina di jsp kacau. Kode kacau ini relatif mudah untuk dipecahkan. Cukup buka preferensi Eclipse3.1 dan temukan general->edidor, dan atur pengkodean pembuka file Anda ke utf-8. Eclipse akan otomatis dibuka kembali dengan format pengkodean baru. Karakter Cina dapat ditampilkan secara normal.
8. Tentang kode kacau saat membuka halaman HTML di gerhana. Karena sebagian besar halaman diproduksi oleh Dreamweaver, format penyimpanannya berbeda dengan yang dikenali gerhana.
Umumnya, dalam hal ini, buat jsp baru di Eclipse, salin konten halaman langsung dari dreamweaver dan tempelkan ke jsp.
PHPCE.CN, Manual Desain
Masalah kode kacau ini adalah masalah kode kacau yang paling sederhana. Biasanya akan muncul yang baru. Ini adalah kode kacau yang disebabkan oleh pengkodean halaman yang tidak konsisten.
<%@ halaman bahasa="java" pageEncoding="UTF-8"%>
<%@ halaman contentType="teks/html;charset=iso8859-1"%>
<html>
<kepala>
<title>Masalah Cina</title>
<meta http-equiv="Jenis Konten" content="teks/html; charset=UTF-8">
</kepala>
</kepala>
<tubuh>
saya orang baik
</tubuh>
</html>
Pengkodean di tiga tempat.
Format pengkodean yang pertama adalah format penyimpanan file jsp. Ecljpse akan menyimpan file sesuai dengan format pengkodean ini. Dan kompilasi file jsp, termasuk karakter Cina di dalamnya.
Pengkodean kedua adalah format decoding. Karena file yang disimpan sebagai UTF-8 di-decode ke iso8859-1, kalau ada bahasa Mandarin pasti kacau. Artinya harus konsisten. Garis dimana tempat kedua berada tidak perlu ada. Format pengkodean default juga ISO8859-1. Jadi tanpa kalimat ini, "Saya orang baik" juga akan kacau. Itu harus konsisten.
Pengkodean ketiga adalah mengontrol metode decoding browser. Jika penguraian kode sebelumnya konsisten dan benar, format pengkodean tidak menjadi masalah. Beberapa halaman web tampak kacau karena browser tidak dapat menentukan format pengkodean mana yang akan digunakan. Karena halaman terkadang disematkan di halaman, browser mengacaukan format pengkodean. Karakter kacau muncul. PHPCE.CN, Manual Desain
2. Masalah karakter kacau yang diterima setelah formulir diserahkan menggunakan metode Post juga merupakan masalah umum. Kode kacau ini juga disebabkan oleh format pengkodean internal Tomcat iso8859-1 Artinya, ketika kiriman dikirimkan, jika format pengkodean yang dikirimkan tidak disetel, maka akan dikirimkan dalam metode iso8859-1, tetapi jsp yang diterima. akan diterima dalam metode utf-8. sehingga menghasilkan karakter yang kacau. Untuk itu berikut beberapa solusi dan perbandingannya.
A. Pengkodean konversi saat menerima parameter
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8"); Dalam hal ini, setiap parameter harus ditranskode dengan cara ini. Sangat merepotkan. Namun karakter China memang bisa Anda dapatkan.
B. Di awal halaman permintaan, jalankan kode pengkodean yang diminta, request.setCharacterEncoding("UTF-8"), dan atur rangkaian karakter konten yang dikirimkan ke UTF-8. Dalam hal ini, halaman yang menerima parameter ini tidak perlu ditranskode. Gunakan secara langsung
String str = request.getParameter("something"); Anda bisa mendapatkan parameter karakter Cina. Namun kalimat ini perlu dieksekusi di setiap halaman. Cara ini hanya efektif untuk pengiriman postingan, namun tidak valid untuk enctype="multipart/form-data" saat mengirimkan file dan mengupload file. Kedua karakter kacau tersebut akan dijelaskan secara terpisah nanti.
C. Untuk menghindari penulisan request.setCharacterEncoding("UTF-8") di setiap halaman, disarankan untuk menggunakan filter untuk
Melakukan pemrosesan pengkodean. Ada banyak contoh mengenai hal ini secara online. Silakan periksa sendiri