Thread: unicode in 7.1
Hello, my isp recently upgraded form postgreSQL 7.0 to 7.1. It went pretty well but I just discovered that non-english characters are now in the database as a question mark-- inserting non-english characters produces a ? as well. Any idea what has gone wrong and what we need to do to fix this? culley __________________________________________________ Do You Yahoo!? Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger http://im.yahoo.com
> my isp recently upgraded form postgreSQL 7.0 to 7.1. It went pretty well > but I just discovered that non-english characters are now in the database > as a question mark-- inserting non-english characters produces a ? as > well. Any idea what has gone wrong and what we need to do to fix this? Hard to tell without knowing what the configuration option was and what kind of API you are using... -- Tatsuo Ishii
> my isp recently upgraded form postgreSQL 7.0 to 7.1. It went pretty well > but I just discovered that non-english characters are now in the database > as a question mark-- inserting non-english characters produces a ? as > well. Any idea what has gone wrong and what we need to do to fix this? Without any more info it's only a guess, but did the ISP folks forget to use the --enable-multibyte=<favorite_charset> during the "configure" step of installation? If they had multibyte enabled before and didn't this time, that could explain the problem. Regards, -------------------------------- Karen Ellrick S & C Technology, Inc. 1-21-35 Kusatsu-shinmachi Hiroshima 733-0834 Japan (from U.S. 011-81, from Japan 0) 82-293-2838 --------------------------------
On Mon, Sep 10, 2001 at 11:25:36AM -0700, Culley Harrelson wrote: > > my isp recently upgraded form postgreSQL 7.0 to 7.1. It went pretty well > but I just discovered that non-english characters are now in the database > as a question mark-- inserting non-english characters produces a ? as > well. Any idea what has gone wrong and what we need to do to fix this? Your database encoding is wrong. Probably SQL_ASCII. And in 7.1 the JDBC drivers takes account of database encoding and presents invalid symbols as '?'. -- marko
What would be the proper encoding? Essentially anything goes with the data in this database-- I had language aid material that could potentially be for any language you can type. I don't think java is the issue-- from pgsql in the shell you get a question mark ? for your most basic accented character. culley At 02:25 PM 9/11/01 +0200, you wrote: >On Mon, Sep 10, 2001 at 11:25:36AM -0700, Culley Harrelson wrote: > > > > my isp recently upgraded form postgreSQL 7.0 to 7.1. It went pretty well > > but I just discovered that non-english characters are now in the database > > as a question mark-- inserting non-english characters produces a ? as > > well. Any idea what has gone wrong and what we need to do to fix this? > >Your database encoding is wrong. Probably SQL_ASCII. And in >7.1 the JDBC drivers takes account of database encoding and >presents invalid symbols as '?'. > >-- >marko _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
On Tue, Sep 11, 2001 at 05:21:22AM -0700, Culley Harrelson wrote: > What would be the proper encoding? Essentially anything goes with the data > in this database-- I had language aid material that could potentially be > for any language you can type. UNICODE? > I don't think java is the issue-- from pgsql in the shell you get a > question mark ? for your most basic accented character. The issue is neither PostgreSQL nor JDBC driver. The issue is that db encoding does not match data. If you see '?' psql then seems like the data was converted on insert to SQL_ASCII... psql does no do any charset conversions (yet?), JDBC does. If data is in psql OK but in JDBC wrong then you are lucky and data is still healthy. You should dump your database and create db with correct encoding and reload data. Use \l in psql to see you db-s and encodings. -- marko