Проблема с кодировкой Firebird

Есть база данных Firebird, в ней таблица, в которой единственный столбик, содержащий строки типа varchar на русском. Есть функция, которая создает из этой таблицы массив и передает его в адаптер спиннера. Проблема в том, что данные в спиннере появляются, но их кодировка сбита. Создавалась база данных с параметром default character set WIN1251. Коннектор и функция получения массива выглядят так:

//свойства коннектора
fun getConnectionProperties():Properties{           
    Class.forName("org.firebirdsql.jdbc.FBDriver")
    val props = Properties()
    props.setProperty("user", "SYSDBA")
    props.setProperty("password", "masterkey")
    props.setProperty("encoding", "WIN1251")
    return props
}

//получение массива
fun getListValues():Array<String?>{
    val values:MutableList<String> = mutableListOf()
    val connection: Connection = DriverManager.getConnection(URL, getConnectionProperties())
    val statement: Statement = connection.createStatement()
    val query = "select type from basetype;"
    val dataBaseResponse: ResultSet = statement.executeQuery(query)
    while(dataBaseResponse.next()){
        val temp = dataBaseResponse.getString("type")
        values.add(temp)
    }
    return values.toTypedArray()
}

БД расположена на локальном Firebird SQL сервере.


Ответы (1 шт):

Автор решения: ezh
while(dataBaseResponse.next()){
        var temp = dataBaseResponse.getBytes("type")
        values.add(String(temp, Charset.forName("CP866")))
    }
→ Ссылка