UNICODE problem on 7.4 with COPY

From: "Toby Doig" <toby(at)vibrantmedia(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: UNICODE problem on 7.4 with COPY
Date: 2003-12-01 16:01:09
Message-ID: 1C4B83A46A20F742B5BE5786E5140D8B22BB99@THEXCHBEX.services.byworkwise.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

When I try to import data from a unicode file into PostgreSQL 7.4 under FreeBSD it appears to now understand the Unicode file format.

To demonstrate I export a set of Integers into a Unicode file from MSSQL 2000. I samba the file to a FreeBSD box and try to import from psql with COPY. It fails. Wordpad and Notepad both read the file ok, even after I bounce the file via the FreeBSD box (to test samba didn't munge it).

FreeBSD 5.1-RELEASE #0
PGSql 7.4 (dl'd and compiled fri 28th Nov 2003)
Dual 800MHz P3's

I create a database with encoding = UNICODE.
I create a table

CREATE TABLE testunicode
(
anum int4
) WITHOUT OIDS;

I then use psql to import the file, which is a single column of integers.

copy testunicode from '/home/toby/itxt/anum.txt';
ERROR: invalid input syntax for integer: "ÿþ1"
CONTEXT: COPY testunicode, line 1, column anum: "ÿþ1"

When viewing the file as hex I see:
FF FE 31 00 31 00 32 00 37 00 39 00 30 00 0D 00 0A 00
ÿ þ 1 . 1 . 2 . 7 . 9 . 0 . . . . .

According to http://www.crispen.org/src/archive/0013.html

FF FE UTF-16/UCS-2, big endian

So, what is going wrong? Why can't I import this very simple unicode file?
I've searched the archives and google, but to no avail.

Btw, the actual stuff I want to import is larger and more complex, this little table is to demonstrate the problem.

Help would be muchly appreciated.
Toby

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Greg Stark 2003-12-01 16:02:37 Re: [GENERAL] Was: Triggers, Stored Procedures, PHP
Previous Message Barbara Lindsey 2003-12-01 15:47:47 Re: Pg module for Perl