Мне кажется, что PHP тебе возвращает страницу в Win1251. Я однажды столкнулся с подобной проблемой, решил её так:
Code:
int c = -1;
StringBuffer sb = new StringBuffer();
try {
while((c=isr.read())!=-1){
System.out.println(c);
if((c>=192)&&(c<=255))
c=c+848;
sb.append((char)(c));
}
} catch (IOException ex) {
ex.printStackTrace();
return "isr.read() "+ex.getMessage();
}
может, кривовато, но работает =) 192 и 255 - границы диапазона русских символов в win1251, 848 - фиксированое смещение unicode относительно win1251