Re: Hex characters in COPY input

From: Melvin Call <melvincall979(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Hex characters in COPY input
Date: 2015-02-27 14:39:08
Message-ID: CADGQN54zUu13KhSbLtGPhp_ACWASxMhhjB9k2vST8oH9jCg-jw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2/26/15, Vick Khera <vivek(at)khera(dot)org> wrote:
> On Thu, Feb 26, 2015 at 9:50 PM, Melvin Call <melvincall979(at)gmail(dot)com>
> wrote:
>
>> Montreal where the e is an accented e. The output ends up in the text
>> file
>> as
>> Montr\xe9al, where the xe9 is a single character. When I try to copy that
>> into
>> my PostgreSQL table, I get an error "ERROR: invalid byte sequence for
>> encoding
>>
>
> Character code E9 is not UTF8. Don't tell Postgres you're importing UTF8 if
> you're not.
>
Thank you Vic, adding the ENCODING 'latin1' option to the COPY command worked
perfectly.

If you don't mind a follow up to your reply, I have tried to understand the
different character sets and collations, but I guess I still have a lot to
learn. Your suggestion did not even come close to crossing my mind because the
MySQL table and database are encoded in UTF8. I assume the conversion to latin1
happened because I was putting the MySQL query output into a locally stored
text file? Regardless, can you point me to some reading that would have clued
me in that e9 is not a UTF8 character? Or is the clue the fact that it was not
preceeded with 0x00?

Regards,
Melvin

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Melvin Call 2015-02-27 14:41:25 Re: Hex characters in COPY input
Previous Message Clodoaldo Neto 2015-02-27 14:36:28 Pass a URI as a pgAdmin parameter