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();
кодировка
Я на java делаю запросы по http к серверу:
Код:
Сервер через браузер возвращает XML, в котором нормально отображаются русские буквы. В ответе сервера содержится строчка:
<?xml version="1.0" encoding="windows-1251" ?>
Но приложение на java получает неправильный ответ от сервера - отображаются кракозябры :)
если устанавливать кодировку в ручную:
Код:
conn.setRequestProperty("characterEncoding", "windows-1251");
или
Код:
Reader reader = new InputStreamReader(isr,"windows-1251");
то также не помогает.
Это может быть связано с какими-то неустановленными кодировками в винде или что-то не так в запросе?
Помоги советом.
Заранее спасибо.