Существует библиотека , которая сохраняет кодировку ответа http (чешские выражения) с сообщением JSon, например:
private static String inputStreamToString(final InputStream inputStream) throws Exception {
final StringBuilder outputBuilder = new StringBuilder();
try {
String string;
if (inputStream != null) {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
while (null != (string = reader.readLine())) {
outputBuilder.append(string).append('\n');
}
}
} catch (Exception ex) {
throw new Exception("[google-api-translate-java] Error reading translation stream.", ex);
}
return outputBuilder.toString();
}
Ответ сложный, и на него следует обратить внимание, в основном на кодировку платформы:
afaik влияет на печать на консоль, на создание файлов из входного потока и даже на связь между клиентом и сервером БД, даже если они оба настроены на использование кодировки utf-8 для кодирования - независимо от того, создаю я явно строку utf-8, inputtreamReader или установите драйвер JDBC для UTF-8, все еще устанавливая свойство $ LANG для xx_XX.UTF-8 в системах linux и добавьте append = "vt.default_utf8 = 1" в загрузчик LILO (в системах, которые его используют) по крайней мере, для систем, работающих с базами данных и Java-приложениями, работающими с файлами в кодировке utf-8.
Даже если я добавлю этот параметр JVM -Dfile.encoding = UTF-8, без кодирования платформы мне не удалось правильно закодировать потоки. Необходимо правильно настроить JDBC-коннектор: «jdbc: mysql: // localhost / DBname? UseUnicode = true & characterEncoding = UTF8», если вы собираетесь сохранить строки в базе данных, которая должна находиться в этом состоянии:
mysql> SHOW VARIABLES LIKE 'character\_set\_%';
+--------------------------+--------+
| Variable_name | Value |
+--------------------------+--------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
+--------------------------+--------+