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: Changing Character Set

Re: Changing Character Set

From: CSC <jcheong_at_cooper.com.hk>
Date: 21 Feb 2001 01:10:08 GMT
Message-ID: <96v4hg$r1h3@imsp212.netvigator.com>

My Database is on Solaris Unix. Where can I change the registry?

Can I update sys.props$ directly?

20 Feb 2001 04:08:24 -0800 Sybrand Bakker <oradba_at_sybrandb.demon.nl> wrote:

> Start regedit
> Navigate to hkey\local_machine\software\oracle
> Check whether you have a variable NLS_LANG
> when it's not there
> choose edit, new , string value.
> Change 'New value #1' in 'NLS_LANG'
> Double click and add a value such as
> American_America.WE8ISO8859P1
> 
> (or any other valid conbination which you can find in v$nls_valid_values)
> This does however NOT change the characterset of the database. In fact any
> characterset you enter in NLS_LANG should either match the characterset of the
> database or form a subset of this characterset.
> 
> NLS_DATABASE_PARAMETERS or sys.props$ will provide the characterset being used
> at creation.
> 
> Hth,
> 
> Sybrand Bakker, Oracle DBA
> 
> 
> 
> 
> In article <96tkmn$ks81_at_imsp212.netvigator.com>, CSC says...

>>
>>What do you mean by registry?
>>
>>When I select * from nls_database_parameters
>>
>>I can see NLS_CHARACTERSET = US7ASCII.
>>
>>What should I do if I want to change to other characerset?
>>
>>
>>> there are 5 levels for NLS parameters :
>>>
>>> 1 - at the database creation, you can check them by the query :
>>>
>>> select *
>>> from nls_database_parameters;
>>>
>>> 2 - The parameters found at the database level are overwriten by the
>>> registry
>>> 3 - witch is then overwriten at the instance level :
>>>
>>> select *
>>> from nls_instance_parameters;
>>>
>>> 4 - overwriten at the session level
>>>
>>> select *
>>> from nls_session_parameters;
>>>
>>> 5 - and finally at the function level :
>>>
>>> select to_date('asdf', 'dd.mm.yyyy', nls...)
>>>
>>>
>>>
>>> regards,
>>>
>>>
>>> Patrick Hamou
>>> principal consultant
>>> www.dbsols.com
>>>
>>>
>>>
>>>
>>> "CSC" <jcheong_at_cooper.com.hk> wrote in message
>>> news:96sipj$9mt4_at_imsp212.netvigator.com...
>>>> May I know how to check what character set is using in the current Oracle
>>>> Server?
>>>>
>>>>
>>>> --
>>>> e-Consultant
>>>> http://www.asl.com.hk/employment.htm
>>>> http://www.eroom.com
>>>
>>> I found this article, which is much more precise then my one.
>>> kurt :-)
>>>
>>>
>>> "Kurt P. Buchleitner" wrote:
>>>
>>>>As far as I know there is the character-set 'inside' the database and the one
>>>> at the client.
>>>> Typical for client-server-computing systems.
>>>>
>>>> The one in the database is set when creating the database. Always use the
>>>> suitable character set as you wont be able to change this later if you use
>>>> USASCII7, the default. You will never be able to store 'special characters'.
>>>>
>>>> Each application writing data into the db or reading data from the db has to
>>>> have a character-definition set in the environment (at the client-side).
>>>>
>>>> e.g. unix
>>>> >env|grep NLS
>>>> NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
>>>> same on NT
>>>>
>>>>means, language is American English and character set is WE8ISO8859P1 (Wester
>>>> Europe Iso.....)
>>>>
>>>> e.g. export/import, where most error occur:
>>>>
>>>> if you dont set NLS_LANG in environment and do an export, USASCII7 could be
>>>>taken as default, and all special characters would be lost. Importing this data
>>>> into another database, or importing correctly exported data with USASCII7 as
>>>> NLS_LANG is not specified, will result in loss of special characters outside
>>>> USASCII7 (7bit pattern).
>>>>
>>>> always check in export-log or import-log for this message at the beginning:
>>>>
>>>>Export done in WE8ISO8859P1 character set and WE8ISO8859P1 NCHAR character set
>>>>
>>>> WE8ISO8859P1 would be a suitable character-set for you as WE stand for
>>>> Western-Europe.
>>>> Dont remember what P1 or P9 is standig for. This might be different local
>>>> European sets.
>>>>
>>>> But you can find a lot information on Oracle Dokumentation CD or
>>>> http://metalink.oracle.com
>>>>
>>>> kurt :-)
>>>>
>>>> LF wrote:
>>>>
>>>> > Greetings All, I need to enable my database to accommodate five European
>>>> > Languages as
>>>> > well as three Asian Languages. I determined that the Character Set UTF-8
>>>> > will allow me
>>>> > to do this. However, I am a bit confused with the difference between the
>>>> > database
>>>> > character set and the national character set(I am running 8i II on Solaris
>>>> > 2.7). Do I need
>>>>> to set both or do I just need to set the database character set? Ideally I
>>>> > would like it if I
>>>> > did not have to change my table column types(e.g. varchar -> nvarchar). I
>>>> > realize that I
>>>> > will probably have to change the size of the varchar and char fields to
>>>> > allow for the size
>>>> > difference in characters(e.g varchar(10) -> varchar(30)). I would
>>>> > appreciate it if someone
>>>> > can give me the quick and the dirty of what I should do, or, what the best
>>>> > thing is to do.
>>>> >
>>>> > Regards, LF
>>>
>>
>>
>>--
>>e-Consultant
>>http://www.asl.com.hk/employment.htm
>>http://www.eroom.com

>
-- 
e-Consultant
http://www.asl.com.hk/employment.htm
http://www.eroom.com
Received on Tue Feb 20 2001 - 19:10:08 CST

Original text of this message

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