Di aplikasi web kami, kami harus mengirim permintaan POST melalui HttpClient ke titik akhir di jaringan kami, yang akan menerima ini dan melakukan beberapa pekerjaan dengannya. Kami mengalami masalah dengan pengkodean karakter, dan saya kesulitan menemukan jawaban atas pertanyaan saya.
Kami telah menggunakan metode postMethod.getParams().setContentCharset("UTF-8")
saat mengirim permintaan, tetapi di pihak penerima, sepertinya karakter tersebut masih dikodekan dalam ISO 8859-1. Saya telah menentukan ini karena ketika saya memeriksa String di sisi penerima, ada karakter sampah di dalamnya yang hilang setelah saya mengikuti langkah-langkah yang ditemukan di https://stackoverflow.com/a/16549329/1130549. Apakah ada langkah tambahan yang perlu saya ambil di pihak pengiriman untuk memastikan bahwa saya benar-benar menulis karakter dalam UTF-8 seperti yang diharapkan? Yang kita lakukan sekarang adalah menggunakan postMethod.addParameter(paramKey, paramValue)
dengan objek String
asli.
Sunting: Berikut adalah contoh yang sangat sederhana tentang bagaimana kami mengirimkan permintaan POST. Nilainya diambil dari objek XMLBeans.
PostMethod postMethod = new PostMethod(url);
postMethod.getParams().setContentCharset("UTF-8");
postMethod.addParameter("key1", "value1");
postMethod.addParameter("key2", "value2");
HttpClient httpClient = new HttpClient();
int status = httpClient.executeMethod(postMethod);