у меня есть базовая функция запроса JDBC: < /p>
Код: Выделить всё
public List Query(String sql) throws Exception {
Connection con = null ;
PreparedStatement pstmt;
List resultSetToList = null;
try {
con = DriverManager.getConnection(ConnectionString, Properties);
pstmt = con.prepareStatement( sql );
pstmt.execute();
ResultSet resultSet = pstmt.getResultSet();
resultSetToList = resultSetToList(resultSet);
pstmt.close();
} catch(Exception e){
throw e;
}
finally {
if (con != null)
con.close();
}
return resultSetToList;
}
< /code>
Я выполняю запрос, как это: < /p>
Query("SELECT * FROM bi_functions");
< /code>
Но он бросает исключение < /p>
орг.postgresql.util.psqlexception: ошибка: неверная байтовая последовательность для кодирования "utf8": 0xa3 < /p>
< /blockquote>
Поэтому я меняю запрос на: < /p>
SET LOCAL CLIENT_ENCODING TO 'SQL_ASCII'; SELECT * FROM bi_functions;
< /code>
он не работает с: < /p>
орг.postgresql.util.psQlexception: Параметр сервера Client_Encoding был изменен на SQL_ASCII. Драйвер JDBC требует, чтобы client_encoding был UTF8 для правильной работы.>
Подробнее здесь: [url]https://stackoverflow.com/questions/63986397/postgresql-jdbc-fails-with-or-without-utf8-encoding[/url]