FAQ
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.html

Thanks.

Good tools make work easy and improve life quality
-- http://www.dbatools.net

Personal software, life, research and professional Oracle recovery service
-- http://www.anysql.net/en

http://www.anysql.net (Chinese)

Search Discussions

  • Mark Brinsmead at Oct 21, 2007 at 1:32 am
    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.html

    Thanks.

    Good tools make work easy and improve life quality
    -- http://www.dbatools.net

    Personal 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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouporacle-l @
categoriesoracle
postedOct 19, '07 at 11:45a
activeOct 21, '07 at 1:32a
posts2
users2
websiteoracle.com

2 users in discussion

Mark Brinsmead: 1 post Anysql: 1 post

People

Translate

site design / logo © 2023 Grokbase