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: Sybrand Bakker <oradba_at_sybrandb.demon.nl>
Date: 20 Feb 2001 04:08:24 -0800
Message-ID: <96tmno02bq1@drn.newsguy.com>

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
Received on Tue Feb 20 2001 - 06:08:24 CST

Original text of this message

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