Re: BUG #3819: UTF8 can't handle \000 - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: BUG #3819: UTF8 can't handle \000
Date
Msg-id 200712170854.lBH8swh19036@momjian.us
Whole thread Raw
In response to BUG #3819: UTF8 can't handle \000  ("Franklin Schmidt" <fschmidt@gmail.com>)
Responses Re: BUG #3819: UTF8 can't handle \000  ("Franklin Schmidt" <fschmidt@gmail.com>)
List pgsql-bugs
Franklin Schmidt wrote:
>
> The following bug has been logged online:
>
> Bug reference:      3819
> Logged by:          Franklin Schmidt
> Email address:      fschmidt@gmail.com
> PostgreSQL version: 8.2
> Operating system:   XP & Linux
> Description:        UTF8 can't handle \000
> Details:
>
> Trying to store \000 in a text field with UTF8 encoding causes an error. I
> assume this is because Postgres is written in C, but it's still wrong.  A
> solution was suggested here:
>
> http://www.nabble.com/invalid-byte-sequence-for-encoding-%22UTF8%22%3A-0x00-
> tp9058998p9096326.html
>
> "I can think of some ways the server could support it without extensive
> changes .. e.g. use a modified UTF8 representation which stores \u0000 as
> 0xc0 0x80 internally"

Uh, as far as I know 0x00 is not a valid UTF8 byte value. I suggest you
use bytea to store 0x00.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-bugs by date:

Previous
From: "Sergey"
Date:
Subject: BUG #3820: auto-installer-failed
Next
From: Bruce Momjian
Date:
Subject: Re: BUG #3819: UTF8 can't handle \000