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

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

Восстановить пароль Регистрация
 
Хаддар
21 / 21 / 2
Регистрация: 25.02.2012
Сообщений: 130
10.12.2014, 22:52     Url inputStream, разбираем JSON или как не потерять кириллицу при запросе #1
Добрый вечер. Интересен такой момент: На 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 Как в InputStream (он ссылается на файл ресурсов) считать двоичные данные?
Вычитывание байтов из InputStream сокета Bluetooth Android
Как проверить пустое SharedPreferences или нет при загрузке активити? Android
Android Как правильно передать кириллицу через сокеты?
Android При чтении JSON файла из папки Assets разные данные
Как закрыть приложение при нажатии кнопки back или home? Basic4Android
Как по наименованию найти нужный обьект или массив в JSON Android
Android XML или JSON
Быстродействие InputStream и OutputStream Android
Возникает ошибка при запросе Android
Ошибка при парсинге или как лучше сделать? Android
Блокирует ли обращение к Socket InputStream и OutputStream программу? Android

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

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

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