В моем приложении я вставляю данные в базу данных, используя код на C, так как строки, которые я получаю из ненадежного источника, я избежал их, используя PQescapeByteaConn
библиотеку libpq. Который работает отлично, то есть приводит к формату строки Octet. Смотрите ниже пример,
Строка ввода : \n\t\f\b\p\k\j\l\mestPrepared
Выходная строка: \\012\\011\\014\\010pkjlmestPrepared
Выходная строка вставляется в базу данных. Теперь я получаю эти данные из базы данных в виде кода Java, используя JDBC. Как я могу удалить строку обратно к ее первоначальному значению?
Я думал о двух возможных подходах,
- Измените запрос поиска в базе данных и передайте это поле любой функции обработки строк Postgres, т. Е. Которая может преобразовывать байты в текст.
- Делайте декодирование в коде Java.
Я могу понять, что подход 1 будет более эффективным. Я перепробовал почти все функции, перечисленные здесь, но ничего не работает. Пожалуйста помоги!!
Я использую версию 8.4 postgres на машине с Linux.
ResultSet.getBytes()
?