Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

кодировка

30K
16 апреля 2009 года
Filomat
8 / / 15.10.2007
Добрый день.

Я на java делаю запросы по http к серверу:

Код:
URL urllink = new URL("http://...");
URLConnection conn = urllink.openConnection();

char[] buffer = new char[1024];
           
InputStream isr = ((InputStream)conn.getContent());
Reader reader = new InputStreamReader(isr);        
           
int n = 0;
StringBuffer sbuf = new StringBuffer();
while((n = reader.read(buffer)) > -1)
{
    sbuf.append(buffer, 0, n);
}
sXml = sbuf.toString();



Сервер через браузер возвращает XML, в котором нормально отображаются русские буквы. В ответе сервера содержится строчка:
<?xml version="1.0" encoding="windows-1251" ?>

Но приложение на java получает неправильный ответ от сервера - отображаются кракозябры :)

если устанавливать кодировку в ручную:
 
Код:
conn.setRequestProperty("characterEncoding", "windows-1251");

или
 
Код:
Reader reader = new InputStreamReader(isr,"windows-1251");

то также не помогает.

Это может быть связано с какими-то неустановленными кодировками в винде или что-то не так в запросе?
Помоги советом.
Заранее спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог