Biasanya kami mengkodekan satu kali dan kemudian menerima parameternya secara langsung
String para = request.getParameter(paramName); Ini karena container dapat secara otomatis mendekode (DECODE) untuk kita
Secara umum, saat pengkodean, UTF-8 (pengkodean sistem) digunakan. Jika UTF-8 juga digunakan saat decoding, maka karakter kacau legendaris tidak akan muncul~
Namun, jika UTF-8 digunakan di halaman JSP, tetapi pengkodean lain digunakan saat mendekode wadah, karakter yang kacau mungkin muncul.
Saat ini, Anda biasanya dapat menggunakan:
String param = String baru(request.getParameter(paramName).getBytes("ISO-8859-1"),"UTF-8");
Bisa juga keluar.
Saya telah mencoba segala cara. Apa yang harus saya lakukan jika saya masih tidak dapat menemukannya?
Cara mengatasi masalah pengkodean yang disebabkan oleh banyak server:
Asumsikan string: = "Yang";
Enkode sekali%E9%98%B3
Enkode dua kali%2525E9%252598%2525B3
Untuk kedua kalinya, container secara otomatis mendekode kali ini, apakah itu GBK, UTF-8 atau ISO-8859-1, ia bisa mendapatkan %E9%98%B3 dengan benar.
Maka selama Anda melakukan Decode sekali, Anda bisa mendapatkan "Yang"