Android中的Soap字符编码
我可以通过下面共享的代码调用webservices,这没关系,但是当我用土耳其语字符向参数发送一个值时,出现了一个编码问题。当我将编码字符集utf-8更改为iso-8859-9时,一些土耳其字符会正确显示(ç,ö,ü),但3个字母(ı,ğ,ş)不会更改。为什么会发生这种情况 abcçdefg*?h?*ijklmnoöprs?tuüvyz 必须是:abcçdefgğhıijklmnoöprsştuüvyzAndroid中的Soap字符编码,android,soap,encoding,character-encoding,Android,Soap,Encoding,Character Encoding,我可以通过下面共享的代码调用webservices,这没关系,但是当我用土耳其语字符向参数发送一个值时,出现了一个编码问题。当我将编码字符集utf-8更改为iso-8859-9时,一些土耳其字符会正确显示(ç,ö,ü),但3个字母(ı,ğ,ş)不会更改。为什么会发生这种情况 abcçdefg*?h?*ijklmnoöprs?tuüvyz 必须是:abcçdefgğhıijklmnoöprsştuüvyz final DefaultHttpClient-httpClient=new Default
final DefaultHttpClient-httpClient=new DefaultHttpClient();HttpParams params=httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(参数,10000);
HttpConnectionParams.setSoTimeout(参数,15000);
//设置参数
HttpProtocolParams.setUseExpectContinue(httpClient.getParams(),true);
//把信封寄出去
HttpPost HttpPost=新的HttpPost(参数[0]);
//添加标题
setHeader(“soapaction”,参数[1]);
setHeader(“内容类型”,“text/xml;charset=iso-8859-9”);
字符串responseString=“”;
试一试{
HttpEntity实体=新的StringEntity(参数[2]);
httppost.setEntity(实体);
//BasicResponseHandler中的扩展类
ResponseHandler rh=新ResponseHandlerTr();
responseString=httpClient.execute(httppost,右侧);
}
捕获(例外e){
Log.v(“异常”,例如toString());
}
//关闭连接
httpClient.getConnectionManager().shutdown();
回报率;
try:httppost.setHeader(“内容类型”,“text/xml;charset=utf-8”)。。。HttpResponse response=httpClient.execute(请求);responseString=EntityUtils.toString(response.getEntity(),“UTF-8”)代码>它与波兰语配合使用chars@njzk2,我没有把整个代码。参数[2]引用HttpEntity中的信封结构实体=新的StringEntity(参数[2])@塞尔文,我可以毫无问题地得到结果。当我开始向db插入接收到的值时,问题就出现了。我应该检查Web服务端吗?插入到数据库。。。但服务器端在哪里?如果是,那么您应该检查web服务代码(或设置web服务器设置)是否将所有更改回utf-8并将参数添加到构造函数:newStringEntity(参数[2],“utf-8”)代码>
final DefaultHttpClient httpClient=new DefaultHttpClient(); HttpParams params = httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(params, 10000);
HttpConnectionParams.setSoTimeout(params, 15000);
// set parameter
HttpProtocolParams.setUseExpectContinue(httpClient.getParams(), true);
// POST the envelope
HttpPost httppost = new HttpPost(parameters[0]);
// add headers
httppost.setHeader("soapaction", parameters[1]);
httppost.setHeader("Content-Type", "text/xml; charset=iso-8859-9");
String responseString="";
try {
HttpEntity entity = new StringEntity(parameters[2]);
httppost.setEntity(entity);
// extended class from BasicResponseHandler
ResponseHandler<String> rh=new ResponseHandlerTr();
responseString=httpClient.execute(httppost, rh);
}
catch (Exception e) {
Log.v("exception", e.toString());
}
// close the connection
httpClient.getConnectionManager().shutdown();
return responseString;