Envoi des contenus utf8 avec la méthode post au serveur dans Android utilisant HttpClient

C'est mon exemple de code, mais j'ai utilisé HttpProtocolParams.setContentCharset (params, "utf-8"); Je suis mon code mais quand j'envoie des données utf-8, je reçois juste "?????" En côté serveur (code PHP)! quel est le problème?

HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, "utf-8"); HttpClient httpclient = new DefaultHttpClient(params); httpclient.getParams().setParameter("http.protocol.content-charset", "UTF-8"); HttpPost httppost = new HttpPost("URL_TO_SERVER"); try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("uname", name.getText().toString())); nameValuePairs.add(new BasicNameValuePair("uemail", email.getText().toString())); nameValuePairs.add(new BasicNameValuePair("udesc", body.getText().toString())); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse hresponse = httpclient.execute(httppost); String response = new Scanner(hresponse.getEntity().getContent(), "UTF-8").useDelimiter("\\A").next(); hresponse.getEntity().consumeContent(); httpclient.getConnectionManager().shutdown(); Log.d("WX", response.toString()); Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block } catch (IOException e) { // TODO Auto-generated catch block } 

  • Passer des variables entre le rendu et une autre classe avec queueEvent ()
  • Afficher la boîte de dialogue de la rotation pendant le chargement des données sur Android
  • Array List Intent extra in Java
  • Est-il possible de parcourir une classe générique?
  • L'image de chargement par défaut avec la barre de progression crée une corruption d'image lorsque l'image s'affiche
  • Tests de l'unité Android avec Dagger 2
  • 2 Solutions collect form web for “Envoi des contenus utf8 avec la méthode post au serveur dans Android utilisant HttpClient”

    Peut-être devriez-vous utiliser UTF-8 pour l'entité:

     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs,"UTF-8")); 

    j'ai travaillé

     public static String sendData(String data) { String str = null; HttpClient client = new DefaultHttpClient(); HttpPost httppost = new HttpPost(serverurl); try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); nameValuePairs.add(new BasicNameValuePair("s", data)); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = client.execute(httppost); str = new Scanner(response.getEntity().getContent(), "UTF-8").useDelimiter("\\A").next(); Log.v("srv response:", str); } catch (SecurityException e) { str = "err2"; } catch (IOException error) { str = "err1.1"; } catch (NullPointerException e) { str = "err1.2"; } return str; } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.