我从我的应用程序向网络服务器提交注册表单:
EditText email = (EditText)findViewById(R.id.email);
EditText password = (EditText)findViewById(R.id.password);
EditText nickname = (EditText)findViewById(R.id.nickname);
List<NameValuePair> params = new ArrayList<NameValuePair>(2);
params.add(new BasicNameValuePair("email", email.getText().toString()));
params.add(new BasicNameValuePair("password", password.getText().toString()));
params.add(new BasicNameValuePair("nickname", nickname.getText().toString()));
HttpClient httpClient = new DefaultHttpClient();
HttpPost request = new HttpPost(url);
request.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = httpClient.execute(request);
当我用希伯来语输入昵称时,服务器(php/apache)会以与昵称相同长度的字符串形式接收昵称,但其中包含“不可见”的字符,即看起来像空格。绝对不是希伯来语。有人有任何线索吗?
我认为只是做request.setEntity(new UrlEncodedFormEntity(params));
在 DEFAULT_CONTENT_CHARSET 中对参数进行编码(请参阅http://developer.android.com/reference/org/apache/http/client/entity/UrlEncodedFormEntity.html http://developer.android.com/reference/org/apache/http/client/entity/UrlEncodedFormEntity.html).
你可能应该使用UrlEncodedFormEntity(List<? extends NameValuePair> parameters, String encoding)
形式。 Froyo/Android 2.2 添加了对以希伯来语和阿拉伯语(以及其他语言)显示文本的支持,包括所需的字体,但我仍在寻找希伯来语编码字符串...
您是否尝试过编码为“UTF-8”或“UTF-16”?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)