1. Saat menggunakan AJAX untuk mentransfer data dari halaman latar depan ke pengontrol latar belakang, kode kacau Cina (tanda tanya ???) muncul.
Saya mencari berbagai solusi secara online sebelumnya, tetapi mereka tidak berhasil. Akhirnya, saya menemukan bahwa itu adalah masalah dengan server Tomcat yang menerima data.
Larutan:
Metode 1: Transcode Parameter Saat pengontrol menerima parameter
@Responsebody@requestMapping (value = "/getjsondatabycityname", menghasilkan = "Application/json") String publik getjsonbyname (httpservletRequest Request, httpservletResception,@requestparam string city_name) melempar servletexception, ioException {requestParam city_name) //response.setContentType("text/html;charset=utf-8 "); //request.setcharacterencoding("utf-8" );//solve posts soal scater.out.println (request.getcharacterencoding ()); city_name = string baru (city_name.getbytes ("iso-8859-1"), "UTF-8"); System.out.println ("city_name:"+city_name);}Metode 2:
Konfigurasikan file service.xml di direktori tomcat
tomcat7/conf/server.xml
Tambahkan Atribut Pengkodean Uriencoding = "UTF-8" ke baris kode ini
<Connector Port = "8080" Protocol = "http /1.1" ConnectionTimeout = "20000" Redirectport = "8443" Uriencoding = "UTF-8" />>
Penyebab Analisis:
Faktanya, alasan untuk masalah yang kacau adalah bahwa konfigurasi Tomcat default, permintaan yang diterima ditranskode dengan ISO-8859-1, yang mengarah ke masalah kacau dalam bahasa Cina. Selama kode yang kacau dapat ditranskode dengan benar dengan UTF-8, masalah yang kacau dapat diselesaikan.
2. Transmisi data biasa, dari halaman JSP ke pengontrol latar belakang, solusi untuk masalah kacau dalam bahasa Cina
(1) Pertama periksa apakah format pengkodean halaman JSP adalah UTF-8
(2) Atur pemfilteran Cina
<!-Pengkodean Cina-> <nilter> <filter-name> karakterEncodingFilter </tilter-name> <nyter-class> org.springframework.web.filter.characterencodingfilter </filter-class> <InT-param> <param-name> encoding </param-name> <param-value> <param--param- encoding </param-name> <param-value> <param-name> </param-name> <param-value> <param-8 <Ilin-param> <param-name> ForceEncoding </param-name> <param-value> true </param-value> </init-param> </tiler> <nilter-Mapping> <nilter-name> KaraktereCodingFilter </filter-name> <Rerl-pattern>/*</url-Pattern> </Filter-Mapping>
(3) Setel konversi data JSON di file konfigurasi SpringMVC
<MVC: anotasi-driven> <mvc: Pesan-Konverter Register-default = "true"> <!-Mulai fungsi anotasi Spring MVC, selesaikan pemetaan permintaan dan anotasi Pojo pemetaan pemetaan permintaan anotasi adalah ISO-88859-1 secara default, menghindari kode yang kacau. Ini disetel ke UTF-8-> <Bean> <name properti = "SupportedMediatypes" value = "text/html; charset = UTF-8"/> </ bean> <!-Mulai konfigurasi format JSON, secara otomatis mengonversi format ke format JSON, tidak ada kelas lain yang diperlukan-<bean id = "jacksonMessApeseCeCeCeCeCeCePer" value = "Application/JSON; charset = UTF-8"/> </bean> </mvc: pesan-converters> </mvc: anotasi-driven>
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.