On Mon, Sep 26, 2011 at 5:51 AM, Gregg Jaskiewicz <gryzman@xxxxxxxxx> wrote: > So consider this code C++, using libpqxx: > > string = "INSERT INTO foo(x) VALUES( E'" + T.esc_raw(data) + "' )"; > > foo(x) is bytea , before you ask. > > On 8.3, it works fine. > On 9.x: > > ERROR: invalid byte sequence for encoding "UTF8": 0x00 (if \000 is in > the string). > > Now, I can take out the E'' and it will work fine on 9.X, but will > whine about it on 8.3. (HINT: Use the escape string syntax for > escapes, e.g., E'\r\n'.) > > > I need one piece of code that will work on both, what should I do in > this case ? urk -- I have to be honest -- that's a pretty lousy way to send bytea. Personally, I'd encode the string as hex and send it like this: "INSERT INTO foo(x) VALUES( decode('" + hex_string + "'))"; libpqxx doesn't have the ability to parameterize queries? merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general