1. 程式人生 > >客戶端傳送的post請求,request中的中文亂碼問題

客戶端傳送的post請求,request中的中文亂碼問題

客戶端通過httpclient進行呼叫,採用的是post的方式。服務端引用普通的struts2或者springmvc框架。如果post引數中有亂碼,則我們需要確認兩個地方來確保亂碼的問題所在。第一個傳送請求的httpclient客戶端使用的編碼格式是什麼,是gdk還是utf_8,或者是其他的格式。第二個,服務端應用的web.xml中是否配置了編碼過濾器org.springframework.web.filter.CharacterEncodingFilter,且編碼過濾器設定的編碼是什麼。進入這個編碼過濾器可以看到,裡面設定了request.setCharacterEncoding(this.encoding)。客戶端和服務端的編碼格式要保持一致。否則會出現中文亂碼。

這裡沒有提到get請求,是因為,get請求裡面的中文肯定會亂碼的。網上有很多類似的處理get請求的案例。我這裡強調的是web.xml中的編碼格式的過濾器的作用。