2015-04-17 23 views
1

URLEncodedUtils我有一個像解析中國charecters在Java

http://localhost/?name=foo&value=bar 

一個URI和我使用

org.apache.http.client.utils.URLEncodedUtils.parse(URI uri, String encoding) 

得到namevaluepairs中的列表,它工作得很好。但現在我還需要解析中國charecters的可能性,例如:

http://localhost/?name=生產者&value=單車 

但URLEncodedUtilsparse不能正確解析這些字符。我如何檢索它們並再次獲得NameValuePairs的列表?

回答

1

你可以嘗試這樣的:

String query1 = URLEncoder.encode("生產者", "UTF-8"); 
String query2 = URLEncoder.encode("單車", "UTF-8"); 
String url = "http://localhost/?name=" + query1 + "&value=" + query2; 

同時檢查java.net.URLEncoder

+0

在這種情況下,第一編碼也替換=和&用%3D和26%,然後URLEncodedUtils.parse(.. )不再有效。 – MrLang

+0

@MrLang: - 更新了我的答案。請立即檢查! –

+0

這將工作,如果我分別有名稱和值字符串。但我的意圖是使用URLEncodedUtils.parse()來檢索它們。但現在我猜想我必須自己拆分整個uri(沒有URLEncodedUtils),然後對名稱和值進行編碼。 – MrLang