Re: using 8 bit ascii

Поиск
Список
Период
Сортировка
От Anders Hermansen
Тема Re: using 8 bit ascii
Дата
Msg-id 20041027133857.GA8631@online.no
обсуждение исходный текст
Ответ на Re: using 8 bit ascii  ("Jason Tesser" <JTesser@nbbc.edu>)
Список pgsql-jdbc
Is it JDBC driver or another interface that says it cannot support the
Unicode values when you insert? What is the exact error message you get?

If you use for example ODBC and insert Latin-1 characters in a Unicode
db, things will go wrong. You can issue the following statement:
SET CLIENT_ENCODING TO 'LATIN1';
This will tell postgresql to expect latin1 characters. Postgresql will
then automatic convert to correct character set if necessary.

The JDBC driver will always operate in UNICODE mode, so it should not
have any problems with either Latin1 nor unicode databases.

I use JDBC driver with both Latin1 and Unicode databases with no
problems. I also use psql for some scripts, but I have ISO-8859-1
terminal, so I execute the above query first.
(Actually I have "\encoding LATIN1" in my .psqlrc file).


Anders

* Jason Tesser (JTesser@nbbc.edu) wrote:
> OK I tried the Unicode but the data won't come in as it says it cannot support the Unicode values I am inserting.  I
triedconverting the data as a text file and everything.  Nothing has worked there.  With odbc using access for example
Ican pull the 8 bit characters out just fine from the same database.  So why can I not using postgres jdbc? 
> I understand that ascii is 7 bit but these are extended ascii.  I will try Latin 1
>
> > -----Original Message-----
> > From: pgsql-jdbc-owner@postgresql.org [mailto:pgsql-jdbc-
> > owner@postgresql.org] On Behalf Of Anders Hermansen
> > Sent: Wednesday, October 27, 2004 8:12 AM
> > To: pgsql-jdbc@postgresql.org
> > Subject: Re: [JDBC] using 8 bit ascii
> >
> > Hello Jason,
> >
> > ASCII is only 7-bit. Values 0 to 127.
> >
> > ISO-8859-1 is an example of a character set with 8-bits (0 to 255).
> > 233 is é in ISO-8859-1 (Latin-1).
> >
> > You should create the database with an encoding which can handle 8-bit
> > characters. I.e. ISO-8859-1 (Postgresql: Latin-1) or UTF-8 (Postgresql:
> > UNICODE)
> >
> >
> > Anders
> >
> > * Jason Tesser (JTesser@nbbc.edu) wrote:
> > > I have a Postgres database (version 7.4.2) that is using acsii character
> > > 233 which is an 8
> > > bit ascii character. I also use jboss.  My problem is when I try to
> > > retrieve
> > > a resultset that has a record with one of the 8bit ascii characters I
> > > get a
> > > message from jboss (see error message below.
> > >
> > > My question is there a way to configure the postgres jdbc driver to
> > > allow
> > > for this range of characters?
> > >
> > > 2004-10-26 16:54:51,167 ERROR [STDERR]
> > > org.postgresql.util.PSQLException: Invalid character data was found.
> > > This is most likely caused by stored data containing characters that are
> > > invalid for the character set the database was created in.  The most
> > > common example of this is storing 8bit data in a SQL_ASCII database.
> > > 2004-10-26 16:54:51,167 ERROR [STDERR]  at
> > > org.postgresql.core.Encoding.decodeUTF8(Encoding.java:287)
> > > 2004-10-26 16:54:51,167 ERROR [STDERR]  at
> > > org.postgresql.core.Encoding.decode(Encoding.java:182)
> > > 2004-10-26 16:54:51,167 ERROR [STDERR]  at
> > > org.postgresql.core.Encoding.decode(Encoding.java:198)
> > > 2004-10-26 16:54:51,167 ERROR [STDERR]  at
> > > org.postgresql.jdbc1.AbstractJdbc1ResultSet.getString(AbstractJdbc1Resul
> > > tSet.java:201)
> > > 2004-10-26 16:54:51,167 ERROR [STDERR]  at
> > > org.postgresql.jdbc1.AbstractJdbc1ResultSet.getString(AbstractJdbc1Resul
> > > tSet.java:475)
> > > 2004-10-26 16:54:51,168 ERROR [STDERR]  at
> > > payroll.DeptWorkers.loadWorkers(DeptWorkers.java:52)
> > > 2004-10-26 16:54:51,168 ERROR [STDERR]  at
> > > org.apache.jsp.manager_jsp._jspService(manager_jsp.jav
> > >
> >

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: "Jason Tesser"
Дата:
Сообщение: Re: using 8 bit ascii
Следующее
От: Vadim Nasardinov
Дата:
Сообщение: JDBC CTS 1.2.1 (was: Re: patch: bring org/postgresql/test/README up to date)