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'属性中设置。 关于冗余代码:在这个应用程序中,大部分时间设备发送批量数据,对于慢速连接,我们正在以较小的块读取数据 –