Android Как отправить текст с акцентом на PHP
У меня проблема с моим приложением, когда я пытаюсь отправить на мой сервер apache текст, содержащий такие символы, как mé mí mó mú, он отправляет символ как m?. Как я могу решить это?
Это мой код:
public boolean loginstatus(String reporte, String user) {
File file = new File(fileUri.getPath());
try {
MultipartEntityBuilder entity = MultipartEntityBuilder.create();
Log.e("enviando", "archivo "+fileUri.getPath());
Log.e("enviando", "reporte "+reporte);
Log.e("enviando", "usuario "+user);
entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
entity.addTextBody("reporte", reporte);
entity.addTextBody("usuarioID",user);
if (file.length() <= 0){
}else{
entity.addPart("archivo", new FileBody(file));
}
final HttpEntity yourEntity = entity.build();
httppost.setEntity(yourEntity);
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
1 ответ
Решение
Прежде всего, проблема здесь в вашей кодировке. Либо таблица базы данных не закодирована для использования UTF-8, либо строка, которую вы отправляете, отсутствует.
вопрос стола:
ты можешь использовать CHARACTER SET utf8
на вашем столе в БД.
Строковая проблема: элегантный способ ее решения - использование
StringEntity entity = new StringEntity(Yourtext, "UTF-8");
Другой способ заключается в использовании вашей строки getBytes("UTF-8")
функция и использовать DataOutputStream