2016-03-30 1 views
1

J'envoie un formulaire de remplissage avec des champs de saisie comme nom, mobile, photo, statut.formulaire de données encodage utf-8 échoué à l'envoi de données sur le serveur dans android

Et l'état pourrait remplir avec emoji également.

J'ai donc essayé ceci en envoyant toutes ces données dans un ensemble de données et d'en-têtes de formulaire à utf-8.

Mais quand j'envoie des données au serveur, le serveur l'a recessé avec ?????????????????.

Mais quand je vérifie cela avec le facteur, le serveur a reçu parfaitement.

mes extraits de code sont.

public static void makeMultiPartPostRequest(Activity activity, final VolleyRequestHandler handler, final int requestType, String url, final Map<String, String> params, final boolean showDialog, final boolean withTag, String tag, byte[] byteArr, String type) { 
     PhotoMultiPartRequest postRequest = new PhotoMultiPartRequest(url, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       if (showDialog) 
        Common.dismissProgressDialog(); 
       handler.onErrorResponse(error, requestType); 
      } 
     }, new Response.Listener() { 
      @Override 
      public void onResponse(Object response) { 
       if (showDialog) 
        Common.dismissProgressDialog(); 

       handler.onResponse(response.toString(), requestType); 
      } 
     }, byteArr, params,type); 

//

params.put(AppConstants.DESCRIPTION, "" + descriptionText.getText().toString()); 

//

mBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 
     mBuilder.setLaxMode().setBoundary("xx").setCharset(Charset.forName("UTF-8")); 

s'il vous plaît excuser les fautes de frappe

+0

Nous ne pouvons pas voir ce que vous mettez dans 'params'. Ni comment vous les utilisez. Utilisez des piqûres prédéfinies dans votre message s'il vous plaît. Postez un exemple plus complet. – greenapps

+0

params.put (AppConstants.DESCRIPTION, "" + descriptionText.getText(). ToString()); – iam

+1

Vous n'êtes pas obligé de répéter votre code. J'ai bien sûr déjà vu ça. Relisez mon commentaire. J'ai demandé quelque chose de différent. – greenapps

Répondre

0

Emoji nécessitent utf8mb4 MySQL. MySQL utf8 s'arrête à des codes de 3 octets, ce qui exclut Emoji.

Vous aurez besoin

  • caractères Emoji 4-octet dans le client.
  • SET NAMES utf8mb4 (ou équivalent) au moment de la connexion à mysql.
  • CHARACTER SET utf8mb4 sur la table/colonne
+0

oui, utf8mb4 déjà dans mysql – iam

+0

Cochez les 3 éléments que j'ai ajoutés. –