美好時光! 我的Adroid應用程序對Google的API服務之一執行HTTP請求。當然,它的工作原理是,當請求的參數是英文時,但是當我用西里爾文測試我的函數時 - 我得到了400錯誤。似乎是,問題是將Win-1251字符串編碼爲UTF-8?它如何在Java中完成?如何在Java中的HTTP請求中編碼西里爾符號?
2
A
回答
11
嘗試:
URLEncoder.encode(yourString, HTTP.UTF-8);
9
您應該使用URLEncoder#encode()
來編碼請求參數。
String query = "name1=" + URLEncoder.encode(value1, "UTF-8")
+ "&name2=" + URLEncoder.encode(value2, "UTF-8")
+ "&name3=" + URLEncoder.encode(value3, "UTF-8");
String url = "http://example.com?" + query;
// ...
請注意,參數名實際上也應該是URL編碼的,但在這個特定的例子中,它們都已經有效。另外請注意,當您使用Android的內置HttpClient
API時,您不需要這樣做。
+0
謝謝你的詳細信息,特別是關於Android的HttpClient –
2
Java中的所有對象String
被編碼爲Unicode(UTF-16) 和Unicode包括從Windows-1251字符 集的字符。
例如,「Česká」是「\ u010Cesk \ u00E1」。
如果要使用不同的 字符集這個字符串發送給其他軟件,那麼你需要的字符串轉換爲字節 使用CharsetEncoder
類,或使用OutputStreamWriter
類,以及將Charset
該字符集。
如果您收到來自其他軟件中的字符串不同的字符集 然後使用類CharsetDecoder
或InputStreamReader
與Charset
將其轉換爲Unicode的備份。
相關問題
- 1. 西里爾在請求
- 2. HttpClient的西里爾符號POST請求上傳文件名
- 3. 西裏爾字母符號
- 4. 默認的SQLite DB編碼返回壞西里爾符號
- 5. Wordpress西里爾文編碼
- 6. 如何在mysql表中插入西里爾符號?
- 7. 如何在PostgreSQL錯誤中查看西里爾符號?
- 8. Android如何在exif文件中添加西里爾文符號
- 9. Geonames數據庫編碼西里爾文符號
- 10. 轉換字符串與編碼UTF8符號到西里爾符號C#
- 11. 無法在Python 2.7.x中編碼西里爾文字符
- 12. 如何在Wordpress中正確處理西里爾文編碼?
- 13. 如何通過代碼獲得西里爾文符號
- 14. 顯示在python西里爾符號
- 15. 如何在Python中獲取ASCII西里爾字符代碼?
- 16. 在HTTP請求中禁用URL編碼
- 17. 對Java中的Http請求進行編碼和解碼
- 18. 使用谷歌地理編碼API的西里爾地址請求
- 19. REST Web服務中的西裏爾字母GET請求
- 20. CasperJS - 回聲西里爾文符號
- 21. 回聲打破西里爾文符號
- 22. pytest 3.0.5與西里爾文符號
- 23. 如何解析Java中的HTTP請求?
- 24. 在Android HTTP請求中發送utf-8編碼的字符串
- 25. 在SQL中選擇西里爾字符
- 26. 在codeigniter中路由西里爾字符
- 27. 如何解碼西里爾文的bson?
- 28. HTML5編碼和西里爾文
- 29. SQL編碼不識別西里爾
- 30. 如何編碼URL的西里爾文字符然後解碼它們?
謝謝,反覆無常! –
Deprecatad(UTF-8 – Artem