| From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
|---|---|
| To: | Steven Hirsch <snhirsch(at)gmail(dot)com> |
| Cc: | "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: psql '\copy to' and unicode escapes |
| Date: | 2018-02-26 17:05:37 |
| Message-ID: | CAKFQuwbpm1QO20k2X8_qRnq1up0naFSF3mbLEp+onxKSc8L+ew@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Mon, Feb 26, 2018 at 9:53 AM, Steven Hirsch <snhirsch(at)gmail(dot)com> wrote:
> I fear that I'm missing something very obvious, but I cannot find a syntax
> that permits me to use an escaped hexadecimal representation in a CSV file
> and have that representation interpreted as the equivalent unicode
> character when inserting into the database.
>
There isn't one - copy treats input as literals and performs basically no
processing on them. The system writing the csv file would have to
actually encode the UTF-8 symbol, not the string of the code point,
directly into the document (i.e., a capable viewer would display whatever
00b0 is on-screen, or a placeholder if it is a non-printable character).
INSERT and COPY are two totally different animals:
INSERT INTO tbl (t) VALUES (trim(' jdjd ')); -- stores jdjd, but
putting trim(' jdjd ') in a csv file and you would store "trim('
jdjd ')"
David J.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Marwan Almaymoni | 2018-02-26 19:45:25 | Parallel Aware |
| Previous Message | Steven Hirsch | 2018-02-26 16:53:15 | psql '\copy to' and unicode escapes |