Mario Splivalo wrote:
> Richard Huxton wrote:
>> Mario Splivalo wrote:
>>> I have this issue:
>>>
>>> postgres=# select E'\xc5\x53\x94\x96\x83\x29';
>>> ERROR: invalid byte sequence for encoding "UTF8": 0xc553
>>
>> I think you want to be using octal escapes. That's text you're
>> generating above.
>>
>> CREATE TABLE bytea_test (b bytea);
>> INSERT INTO bytea_test (b) VALUES (E'\\305\\123\\224\\226');
>> SELECT * FROM bytea_test;
>> b
>> ---------------
>> \305S\224\226
>> (1 row)
>
> That's true, but I'd still like to use hexadecimal notation. Manual
> states that I could say '\xC5', but then I get those encoding errors.
I think you're reading the "text" rather than "bytea" part of the manual.
4.1.2.1. String Constants
"...and \xhexdigits, where hexdigits represents a hexadecimal byte
value. (It is your responsibility that the byte sequences you create are
valid characters in the server character set encoding.)"
No mention of hex in the bytea section of the manual.
-- Richard Huxton Archonet Ltd