2016-05-02 8 views
0

Ich versuche, Ã…land Islands Zeichenfolge mit Volley zu buchen, aber wenn Server die Zeichenfolge empfängt, wandelt es Zeichenfolge in ?land Islands. Kann mir jemand bitte lassen Sie mich wissenCodierung von String wie `Ã ... land Islands`

Wie zu codieren solche Strings Ã…land Islands?

UPDATE

HashMap params = new HashMap(); 
     params.put(Constants.FULL_NAME, this.etFullname.getText().toString()); 
     params.put(Constants.FATHER_NAME, this.etFathername.getText().toString()); 
     params.put(Constants.CNIC, this.etNic.getText().toString()); 
     params.put(Constants.PASSPORT, this.etPassport.getText().toString()); 
     String name = "Ã…land Islands"; 
params.put(Constants.COUNTRY, name); 

und verwendet dann die StringReqeust

+0

Können Sie den Code zeigen, wie Sie den Beitrag erstellt haben? – Henry

+0

siehe den aktualisierten Code. Benutze den String-Parameter und poste dann die Anfrage mit Volley-String –

+0

'wenn der Server den String empfängt '- wie weißt du, dass es der Server ist, nicht dein Code, der diesen String erhält? –

Antwort

1

Sie URLEncoder.encode(String, String) verwenden können Sie Ihre Parameter zu kodieren. So etwas wie,

String encoding = "UTF-16LE"; 
Map<String, String> params = new HashMap<>(); 
params.put(Constants.FULL_NAME, URLEncoder.encode(
     this.etFullname.getText().toString(), encoding)); 
params.put(Constants.FATHER_NAME, URLEncoder.encode(
     this.etFathername.getText().toString(), encoding)); 
params.put(Constants.CNIC, 
     URLEncoder.encode(this.etNic.getText().toString(), encoding)); 
params.put(Constants.PASSPORT, URLEncoder.encode(
     this.etPassport.getText().toString(), encoding)); 
String name = "Ã…land Islands"; 
params.put(Constants.COUNTRY, URLEncoder.encode(name, encoding)); 

Auch Sie auf die Map Schnittstelle programmieren sollten und bitte nicht raw types verwenden.