我遇到的问题是,当我保存我的文本字段时,重音符号消失并且不会保存到de bd。
示例:
入口:“lamevaauupacióésx” bd节省了什么:“la meva ocupaci”
我想我可能在某些方面失败了:
当我从文本字段中选择数据时:
title = (EditText)findViewById(R.id.title);
当我将其转换为字符串时:
String post_title = title.getText().toString();
当我把它放在名单上时:
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("title", post_title));
完整代码:http://pastebin.com/trrPEG33
当我在bd上进行插入时,它会带有没有问题的重音
当我从bd中重新获取数据时,此数据包含重音并且它们显示完美
我认为问题可能在于保存。
我会非常感激任何帮助。抱歉我的英文。
答案 0 :(得分:3)
问题似乎依赖于JSonParser类的REST服务调用,而不考虑Android和服务中使用的字符集是不同的。
默认情况下,Android使用UTF-8编码,我怀疑您的服务使用的是ISO-8859-1(如代码的响应处理部分所示)。
要解决此问题,您必须通知charset的URlEncodedFormEntity使用p进行编码:
用于POST请求:
httpPost.setEntity(new UrlEncodedFormEntity(params, "iso-8859-1")); //line 108
获取GET请求:
String paramString = URLEncodedUtils.format(params, "iso-8859-1"); //line 117
这应该足够了。