У меня есть Java-программа, которая должна получить доступ к базе данных в Firebird с кодировкой DOS437.конвертировать в Java DOS437 в UTF8
Мне нужно преобразовать результат запроса в UTF8, как я могу это сделать?
Мой код в Java:
public List<Proceso> ObtenerListaProcesos() throws SQLException {
List<Proceso> procesos = new ArrayList<>();
Proceso proceso = null;
Connection conn = null;
ResultSet rs = null;
String query = "select * from procesos where prc_web='V' and prc_valido='V' and prc_valido_fabrica='V' and prc_suplemento_Acabado='F' and prc_codigo!='-' order by prc_descripcion;";
String textoProceso="";
try {
conn = this.abrirConexion();
PreparedStatement p = conn.prepareStatement(query);
rs = p.executeQuery();
while (rs.next()) {
proceso = new Proceso(rs.getString("PRC_CODIGO"),
rs.getString("PRC_DESCRIPCION"));
procesos.add(proceso);
}
} catch (Exception e) {
log.error("Error en ObtenerListaProcesos: " + e.getMessage());
} finally {
this.cerrarConexion(conn);
}
return procesos;
}
я имею кодировку в связи Жар:
<conexionServidor>jdbc:firebirdsql:servidor/3050:F:/apps/GESTIONGYM2004/BD/BDGYM.FDB</conexionServidor>
<userBD>SYSDBA</userBD>
<passBD>masterkey</passBD>
<encodingBD>DOS437</encodingBD>
мне нужно записать результат запроса в UTF-8, чтобы показать в html-файле, но если вы используете: new String (rs.getBytes ("columnname"), "Cp437"), результат не в UTF-8.
Пожалуйста, проверьте [это] (http://stackoverflow.com/a/13163986/655756) ответ для того, чтобы установить правильную кодировку в драйвере JDBC , и дальнейшее преобразование в UTF-8 в Java должно быть автоматически. – n1ckolas