При этом будет использоваться системная кодировка символов по умолчанию:
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
Аналогично будет так:
BufferedReader rd = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
При использовании системной кодировки по умолчанию почти всегда aплохая идея, особенно для работы в сети.
Какую кодировку вы хотели использовать для POST?Вы должны установить заголовок Content-Type, чтобы указать, какую кодировку вы используете, и, очевидно, также указать это в вызове конструктора OutputStreamWriter
.Аналогично, вы должны использовать Content-Type ответа , чтобы определить, какую кодировку указывать в вызове InputStreamReader
.
В общем, именно такие вещи делают целесообразным использование более высокогоHTTP-библиотека высокого уровня, такая как Apache HttpClient .Это должно быть в состоянии обработать кодировку для вас.