Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
derec
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
#1

Кодировка в httppost - Android

16.07.2014, 06:58. Просмотров 1114. Ответов 5
Метки нет (Все метки)

Здравствуйте, имеется такая проблема.
хочу отправить файл с параметром на свой сервер
делаю так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Thread myThread = new Thread(new Runnable() {
          public void run() {
    
       try {
              ByteArrayOutputStream bos = new ByteArrayOutputStream();
              bm.compress(CompressFormat.JPEG, 75, bos);
              byte[] data = bos.toByteArray();
              HttpClient httpClient = new DefaultHttpClient();
              HttpPost postRequest = new HttpPost(
                      "http://***/upload.php");
              ByteArrayBody bab = new ByteArrayBody(data, "forest.jpg");
              // File file= new File("/mnt/sdcard/forest.png");
              // FileBody bin = new FileBody(file);
 
           
              MultipartEntity reqEntity = new MultipartEntity(
                      HttpMultipartMode.BROWSER_COMPATIBLE);
              reqEntity.addPart("uploadedfile", bab);
              reqEntity.addPart("gruppa", new StringBody("миддле"));
              
              postRequest.setEntity(reqEntity);
              httpClient.getParams().setParameter("http.protocol.content-charset", "UTF-8");
              HttpResponse response = httpClient.execute(postRequest);
              BufferedReader reader = new BufferedReader(new InputStreamReader(
                      response.getEntity().getContent(), "UTF-8"));
              String sResponse;
              StringBuilder s = new StringBuilder();
 
              while ((sResponse = reader.readLine()) != null) {
                  s = s.append(sResponse);
              }
              System.out.println("Response: " + s);
              System.out.println(postRequest.getRequestLine());
          } catch (Exception e) {
              // handle exception here
            
              e.printStackTrace();
          }
          }
    });
принимающ скрипт
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
echo "лол";
ini_set('display_errors',1);
error_reporting(E_ALL);
 
$anabolik = basename( $_FILES['uploadedfile']['name']);
$target_path  ="grupp/".$gruppa."/";
 
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
{
    echo "The file ".  basename( $_FILES['uploadedfile']['name']).
 " has been uploaded";
}
else
{
echo $_FILES['userfile']['error'];
    echo "There was an error uploading the file, please try again!";
}
?>
проблема в том что приложение отправляя запрос каверкает русские буквы и на выход получаю
"????????"
как изменить кодировку?
прим. echo "лол"; выводится по русски, значит я думаю проблема в самом приложении
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2014, 06:58     Кодировка в httppost
Посмотрите здесь:

Android Кодировка в WebView
Android Кодировка в post запросе
HttpPost конфликтует с БД Android
Отправка смс на сервер. Кодировка? Android
Android Кодировка заголовков E-mail писем
Не приходит ответ при HttpPost Android
Android Java Android Кодировка символов
Android HttpPost и PHP. Не подключается к MySQL
[AllowAnonymous], [HttpPost] студия не видет C# MVC
HttpPost метод контроллера C# MVC
Android Парсинг сайта и кодировка
Кодировка символов (код символа) Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Muhammad97
10 / 10 / 1
Регистрация: 10.11.2013
Сообщений: 238
16.07.2014, 14:56     Кодировка в httppost #2
Java
1
2
3
4
HttpEntity responseEntity = response.getEntity();
                responseString = EntityUtils.toString(responseEntity);
                if(responseEntity!=null) {
                    responseString = EntityUtils.toString(responseEntity, "UTF-8" );
В PHP файле:
PHP
1
2
3
<?PHP header("Content-Type: text/html; charset=utf-8");?>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<?PHP echo 'текст'; ?>
derec
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
16.07.2014, 15:13  [ТС]     Кодировка в httppost #3
Добавлено через 3 минуты
Цитата Сообщение от Muhammad97 Посмотреть сообщение
HttpEntity responseEntity = response.getEntity(); responseString = EntityUtils.toString(responseEntity); if(responseEntity!=null) { responseString = EntityUtils.toString(responseEntity, "UTF-8" );
куда это вставлять (java)
Muhammad97
10 / 10 / 1
Регистрация: 10.11.2013
Сообщений: 238
16.07.2014, 15:15     Кодировка в httppost #4
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
HttpClient httpclient = new DefaultHttpClient();    
                HttpPost httppost = new HttpPost("http://www.server.com/android.php");     
                
                    // Добавим данные (пара - "название - значение")     
                    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);   
                    nameValuePairs.add(new BasicNameValuePair("login", "text"));       
                    nameValuePairs.add(new BasicNameValuePair("pass", "text"));      
                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));      
                    // Выполним запрос        
                    HttpResponse response = httpclient.execute(httppost);
                
                HttpEntity responseEntity = response.getEntity();
                responseString = EntityUtils.toString(responseEntity);
вот полный код POST запроса

Добавлено через 59 секунд
Вставь вместо своего кода
derec
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
16.07.2014, 15:16  [ТС]     Кодировка в httppost #5
мне еще нужно файл передать
Muhammad97
10 / 10 / 1
Регистрация: 10.11.2013
Сообщений: 238
16.07.2014, 15:17     Кодировка в httppost #6
Тогда не знаю
Yandex
Объявления
16.07.2014, 15:17     Кодировка в httppost
Ответ Создать тему
Опции темы

Текущее время: 00:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru