From: | Alex Guryanow <gav(at)nlr(dot)ru> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsq-odbc(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Wrong string length from unicode database in Borland's app |
Date: | 2004-11-22 08:11:26 |
Message-ID: | 1591125188.20041122111126@nlr.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-odbc |
TL> Alex Guryanow <gav(at)nlr(dot)ru> writes:
>> When pg-server is version 7.1.3 windows app works fine, but when
>> pg-server is version 7.4.6 or 8.0beta4 under certain conditions the
>> app receives strings with wrong lengths.
TL> Are both servers set up with the same database encoding?
I think the answer is yes. For both servers the command "initdb" was
executed only with parameter DATADIR. At the same time the locale is
set up to "ru_RU.cp1251".
But by creating the database I specify parameter "-E UNICODE" and
"psql -l" shows that the database is in UNICODE encoding. One
time I have forgotten to specify '-E UNICODE' by executing createdb
and windows app worked fine with 7.4.6
TL> (Is the 7.1
TL> server even compiled to support non-ASCII encodings?)
Here is the fragment of config.status from 7.1.3 source directory
./configure --prefix=/db/pgsql-713 --enable-locale --enable-multibyte --with-perl
>> But by executing the query
>> select volume, trim(number) from issue where mag_id = 25403;
>> the datagrid component (that displays query's results) contains in
>> second column values with length of 32769.
TL> If you try the same query in plain psql, what do you get?
I get all ok. For example, the query
select volume, length( trim( number ) ) from issue where mag_id = 25403;
shows in second column values from 5 to 7
TL> What is in
TL> the wrong-length value, exactly?
'N 1-2'
The appropriate "volume" column contains 'Evf. 120' where 'E' is 'E
with ascent' (I don't know how to write them in this letter). pg_dump
writes the following sequence of bytes (in hex-format) for this value:
C3 89 76 66 2E 20 31 32 30
and 'N 1-2' is
4E 20 31 2D 32
Best regards,
Alex
TL> regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | David Pradier | 2004-11-22 08:53:14 | Re: How to make a good documentation of a database ? |
Previous Message | Patrick B Kelly | 2004-11-22 07:09:49 | Re: How to handle larger databases? |
From | Date | Subject | |
---|---|---|---|
Next Message | Alex Guryanow | 2004-11-22 08:19:23 | Re: [GENERAL] Wrong string length from unicode database in Borland's app |
Previous Message | Tom Lane | 2004-11-21 18:52:35 | Re: Wrong string length from unicode database in Borland's app |