It sounds like your database has been configured as US7ASCII, but your
datais WE8ISO8859P1.
You will probably find that clients connecting to the database and
(apparently incorrectly) setting their NLS character set (NLS_LANG) to
US7ASCII will display the data without problems. Applications connecting
with the WE8ISO8859P1 character set are likely to observe data that has been
converted from US7ACSII to WE8ISO8859P1 -- that the data is actually
inWE8ISO8859P1 to begin with is irelevant, because the database does
not know
that. WE8ISO8859P1 characters that are not valid in the US7ASCII character
set will be "converted" incorrectly in this case, being replaced by
something like '?' to show that they were invalid.
Now, what I just said applies to character translation in the SQL*Net
layer. Sadly, in cases where your application cleverly "lies" to the
database and requests US7ASCII data (so it will come out unconverted) you
might find that the Java Runtime Environment is now doing you the "favor" of
converting the character sets (assuming Java "knows" that the app is
expecting WE8ISO8859P1) and so the JRE is stepping all over your data
instead of SQL*Net. This is just a guess though -- I do not know enough
about Java to say whether or not this part will really occur.
Your best bet is to use a "back-door" method to convert your database to
WE8ISO8859P1 (do not use csscan / csalter, as these will destroy your data!)
and then have your software stack use WE8ISO8859P1 (or perhaps better,
AL32UTF8) from end-to-end.
By the way, please note that many people on this list usually do not respond
to questions posted by anonymous parties. Myself included. In the future,
if you want help, please have the good manners to identify yourself. At
least be good enough to provide a name more meaningful than "anysql".
On 10/19/07, anysql wrote:Hi:
Somebody asked me this question few days ago, but I don't know how to get
it resolved.
The database use US7ASCII character set, and they decide to use Oracle SQL
Developer as the client development tool, want to save the license cost of
PL/SQL Developer. But found that the Asia language cannot be displayed
correctly.
I did some test (see the following link), but it work only for console
program, not for GUI program.
http://www.dbatools.net/experience/java_jdbc_aisa_language.htmlThanks.
Good tools make work easy and improve life quality
--
http://www.dbatools.netPersonal software, life, research and professional Oracle recovery service
--
http://www.anysql.net/en--
http://www.anysql.net (Chinese)
--
Cheers,
-- Mark Brinsmead
Senior DBA,
The Pythian Group
http://www.pythian.com/blogs--
http://www.freelists.org/webpage/oracle-l