2

テキストフィールドを保存すると、どこかでアクセントが消えて bd に保存されないという問題があります。


例 :

入り口: "la meva ocupació és x" 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 からデータを受信すると、このデータにはアクセントが含まれており、完全に表示されます

問題はセーブにあるのではないかと思います。

どんな助けにも本当に感謝します。私の英語でごめんなさい。

4

1 に答える 1

3

この問題は、JSonParser クラスでの REST サービスの呼び出しに依存しているようです。これは、Android とサービスで使用される文字セットが異なることを考慮していません。

デフォルトでは、Android は UTF-8 エンコーディングを使用しており、あなたのサービスは ISO-8859-1 を使用していると思われます (コードの応答処理部分に見られるように)。

これを修正するには、エンコーディングに使用する文字セットを URlEncodedFormEntity に通知する必要があります。

POST リクエストの場合:

 httpPost.setEntity(new UrlEncodedFormEntity(params, "iso-8859-1")); //line 108

GET リクエストの場合:

String paramString = URLEncodedUtils.format(params, "iso-8859-1"); //line 117

これで十分です。

于 2013-08-28T11:41:38.850 に答える