Dalam aplikasi saya, saya memasukkan data dalam database menggunakan kode C, karena string yang saya terima dari sumber yang tidak terpercaya saya telah melarikan diri mereka menggunakan PQescapeByteaConn
perpustakaan libpq. Yang berfungsi dengan baik yaitu hasil String format Octet. Lihat contoh di bawah ini,
Input String: \n\t\f\b\p\k\j\l\mestPrepared
Output String: \\012\\011\\014\\010pkjlmestPrepared
Output String dimasukkan ke dalam basis data. Sekarang saya mengambil data itu dari database dalam kode java menggunakan JDBC. Bagaimana saya bisa menghapus string kembali ke nilai aslinya?
Saya memikirkan dua pendekatan yang mungkin,
- Ubah kueri pencarian basis data dan berikan bidang ini ke fungsi manipulasi String postgres yaitu yang dapat mengubah bytea menjadi teks.
- Lakukan decoding dalam kode Java.
Saya bisa mengerti bahwa pendekatan 1 akan lebih efisien. Saya telah mencoba hampir semua fungsi yang tercantum di sini tetapi tidak ada yang berfungsi. Tolong bantu!!
Saya menggunakan postgres versi 8.4 pada mesin linux.
ResultSet.getBytes()
?