0
我正在使用Balckberry移動應用程序。它獲取一些數據並使用javax.microedition.io.Connection
對象將其發佈到java.io.OutputStream
上的服務器應用程序。雖然我的設置「的Content-Type」屬性Connection
但仍然在服務器端無法獲得正確的編碼字符串將數據寫入OutputStream時的編碼問題
請注意:
- 服務器正常工作與任何
UTF-8
編碼字符串,因爲我已經驗證使用 Poster - XML是在客戶端正確編碼之前寫入
OutputStream
,因爲我可以看到它在調試模式
任何人都可以科幻nd一個小故障下面是代碼。
// Client side code
// xml is String xml and is correctly encoded, I can see Arabic or Chinese character it in debug mode
byte[] requestByte = xml.getBytes();
// compress request bytes array
// initialize connection
// set connection properties
con.setRequestMethod(HttpConnection.POST);
con.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
con.setRequestProperty("Content-Encoding", "UTF-8");
os = con.openOutputStream();
InputStream in = new ByteArrayInputStream(requestByte);
byte[] buffer = new byte[4096];
int bytesRead = 0;
while ((bytesRead = in.read(buffer)) > 0) {
os.write(buffer, 0, bytesRead);
}
是的,這已經成功了。但是,是否需要在'Content-Encoding'的'Connection'屬性中設置。 關於冗餘代碼:在這個應用程序中,大部分時間設備發送批量數據,對於慢速連接,我們正在以較小的塊讀取數據 –