Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Character set conversion to UTF8 from WE8ISO8859P1 to UTF8

Re: Character set conversion to UTF8 from WE8ISO8859P1 to UTF8

From: Jesus M. Salvo Jr. <john_at_softgame.com.au>
Date: Tue, 08 Jan 2002 05:57:11 GMT
Message-ID: <XSv_7.4263$9u6.22845@news-server.bigpond.net.au>

"Robert Kuhlmann" <java_at_qltec.de> wrote in message news:3c398c55> If you want to change the charecter set you must bild an new database. There is
> no other way to solve this problem.
> --
> __________________________________________________________
> News suchen, lesen, schreiben mit http://newsgroups.web.de

Not ( totally ) true. I have at least four 8i databases which were previously US7ASCII which I have just changed to UTF8.

However .... there were some characters in the database that were beyond ASCII ( like an accented E ) that somehow got inserted into the database via JDBC. So an extra step to ALTER DATABASE blah ... I have to search for characters that were beyond ASCII and convert them using Java to the proper UTF8 encoding.

As to the original post's question, the docs only show a sample using US7ASCII, and it says:

"The target character set is a strict superset if and only if each and every codepoint in the source character set is available in the target character set, with the same corresponding codepoint value."

From my experience, latin characters in iso8859-1 would therefore be encoded differently in UTF-8. For example, an accented E is 1 octet in iso-8859-1 but it would be 2 octets in UTF-8 ... which I think is what Oracle is complaining about ... not that it was trying to convert characters when you do ALTER DATABASE. It is probably complaining because it KNOWS that some of your data will be garbage if you do proceed to convert them to UTF-8. Received on Mon Jan 07 2002 - 23:57:11 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US