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

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

Войти
Регистрация
Восстановить пароль
 
Хаддар
21 / 21 / 2
Регистрация: 25.02.2012
Сообщений: 132
#1

Url inputStream, разбираем JSON или как не потерять кириллицу при запросе - Программирование Android

10.12.2014, 22:52. Просмотров 417. Ответов 0
Метки нет (Все метки)

Добрый вечер. Интересен такой момент: На php страницу посылается запрос с параметрами вида:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String link="http://digital-school.comeze.com/news.php";
 
String data  = URLEncoder.encode("category", "UTF-8")
        + "=" + URLEncoder.encode(category, "UTF-8");
 
URL url = new URL(link);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
 
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write( data );
wr.flush();
 
BufferedReader reader = new BufferedReader
    (new InputStreamReader(conn.getInputStream()));
Вроде стандартная ситуация, да и json генерируемый при запросе выдается с кириллицей:
JSON
1
[{"news_head":"Head of news #1","news_text":"Some dummy text. Some dummy text. Some dummy text. ","publishing_time":"06.10.2014"},{"news_head":"Head of news #2","news_text":"Some dummy text. Some dummy text. Some dummy text. Some dummy text. Some dummy text. Some dummy text. Some dummy text. Some dummy text. Some dummy text. ","publishing_time":"07.10.2014"},{"news_head":"Head of news #3","news_text":"Some dummy text. Some dummy text. Some dummy text. ","publishing_time":"08.10.2014"},{"news_head":"Заголовок новости #4","news_text":"Текст новости, Текст новости, Текста новости","publishing_time":"06.10.2014"}]
Разбиение json структуры осуществляется следующим образом:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
JSONArray jsonArray = new JSONArray(result);
 
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject = jsonArray.getJSONObject(i);
 
    String newsHead = String.valueOf(jsonObject.optString("news_head"));
    String newsText = String.valueOf(jsonObject.optString("news_text"));
    String publTime = String.valueOf(jsonObject.optString("publishing_time"));
 
    myNews = new jsonNews(newsHead, newsText, publTime);
    newsList.add(myNews);
 
}
Но в приложении выводится вместо русских символов знаки вопроса.

Подскажите пожалуйста, все дело в том, что система в эмуляторе англоязычная или я теряю кодировку на обработке ответа?

Добавлено через 3 часа 54 минуты
Проблема решена. Тема закрыта. Причина - собственная невнимательность (как и всегда)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2014, 22:52     Url inputStream, разбираем JSON или как не потерять кириллицу при запросе
Посмотрите здесь:
Android JSON из URL в ListView | Fragment
Как по наименованию найти нужный обьект или массив в JSON Android
Android Как в InputStream (он ссылается на файл ресурсов) считать двоичные данные?
Android Как правильно передать кириллицу через сокеты?
Android XML или JSON
Быстродействие InputStream и OutputStream Android
Вычитывание байтов из InputStream сокета Bluetooth Android
Блокирует ли обращение к Socket InputStream и OutputStream программу? Android
Android Ошибка при работе с JSON
Возникает ошибка при запросе Android
Android При чтении JSON файла из папки Assets разные данные
Ошибка при парсинге или как лучше сделать? Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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