Solved

oracle unicode

Posted on 2007-03-27
13
1,117 Views
Last Modified: 2013-12-26
hi
 i want to create a unicode database in oracle8i. i have created an instance with the charset UTF-8 . how can i confirm that this database is unicode supported ?  
i tried a few things but i am not sure. i created a table :-

create table test(
name varchar2(60)
);

then i insert a thai value using the line : insert into test values ('ทฟพอริ');
if i retrieve this value in sqlplus , i get to see the result correctly in thai font. However , if i use Powerbuilder PB10.5 to retrieve it, i see alien fonts like ·¿¾ÍÃ×

so i would like no know how can i confirm that my database is unicode compliance , how can i insert data into the database in unicode format ?

can anyone help me on this ?

thanks.  
0
Comment
Question by:orinauts
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
13 Comments
 
LVL 22

Expert Comment

by:Helena Marková
ID: 18805862
Your database is unicode, but you have to set PowerBuilder to display unicode characters. So I hope someone with PowerBuilder knowledge will help you.
0
 
LVL 18

Expert Comment

by:diasroshan
ID: 18805907
hi,

there is nothing wrong with ur Oracle settings if its retrieving in SQL Plus...

how r u retrieving ur table in PB... thru a DW or using database profile in PB...

If ur using a DW then have the right thai font for ur column.

Cheers,
Rosh
0
 

Author Comment

by:orinauts
ID: 18806058
hi i am retrieving my table thru database profile. however , if i tick on the DisableUnicode , it shows the value correclty. But , i dont want that as that is Disabling Unicode. I want to store it and view it in unicode.

is there any settings ? the data that i have store , it is in Unicode rite ?
0
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 
LVL 48

Expert Comment

by:schwertner
ID: 18806639
To confirm that the DB is with Unicode Character set use as SYS:

SQL>select value from nls_database_parameters;
and pay attention to 'NLS_CHARACTERSET' and NLS_NCHAR_CHARACTERSET'

After that you have to localize your cleint station.
It is using particular language (e.g. German).
So the localization includes telling this to the software.
If your software uses Oracle Client software
find in the Registry NLS_LANG parameter and put an
appropriate value there like
NLS_LANG=GERMAN_GERMANY.UTF8

If this is not the case you have to change the Local Settings of your computer.
Also try to investigate how PowerBuilder localizes the installation.
This should be mentioned in the docs and also could be found
in the Internet.
0
 
LVL 3

Expert Comment

by:harry_hendrata
ID: 18807412
When you try to use sqlplus, make sure that the NLS_LANG set at your end is what you want to see, for example, in my case, if the database is UTF8, and i have inputted chinese data and i would like to view them, then the my environment would need to set to AMERICAN_AMERICA.ZHT16BIG5 -- then you should be able to view the BIG5 characters that are in the database, provided that the data stored in the database is BIG5 in UTF8.

0
 

Author Comment

by:orinauts
ID: 18834968
i have another question. Now i want to create a new oracle 9i database that has unicode support. So the option that i choose should be ?
0
 

Author Comment

by:orinauts
ID: 18835106

 OK. For now, i have created a database instance in Oracle8i using UTF8. So means my database is unicode compliance rite ? I have also changed the nls_lang in the registry, however , i do not know what specific value should i set there , is it thai_thailand.th8iisascii , or thai_thailand.utf8 , or thai_thailand.th8macthai or th8macthais ?

the problem i face now is even i have stored thai font into the database , if i retrieve it using powerbuilder db profile , it still shows me garbage unless i tick it to DisableUnicode. But i think i SHOULD not tick it as that would disable unicode. Am i rite here ?

i did a select value from nls_database_parameters; as mention above and the result is :-

VALUE                                                                          
--------------------------------------------------------------------------------
AMERICAN                                                                        
AMERICA                                                                        
$                                                                              
AMERICA                                                                        
.,                                                                              
UTF8                                                                            
GREGORIAN                                                                      
DD-MON-RR                                                                      
AMERICAN                                                                        
BINARY                                                                          
HH.MI.SSXFF AM                                                                  

VALUE                                                                          
--------------------------------------------------------------------------------
DD-MON-RR HH.MI.SSXFF AM                                                        
HH.MI.SSXFF AM TZH:TZM                                                          
DD-MON-RR HH.MI.SSXFF AM TZH:TZM                                                
$                                                                              
BINARY                                                                          
UTF8                                                                            
8.1.7.0.0  

please advice ,

thanks.
0
 
LVL 48

Accepted Solution

by:
schwertner earned 125 total points
ID: 18835466
To create 9i DB with Unicode use DBCA (database creation assistance) and in the Character Set tab use AL32UTF8 (this stands for up to 4 bytes Inicode and covers all languages).
Forget Oracle 8 ... it is history.

next check the version of Powerbuilder you use. Does it uses Unicode ?
On the server you have to set NLS_LANG=.UTF8
But on the Client machine (where Powerbuilder works) you have to set (if and only if you work using Oracle Client)

NLS_LANG=thai_thailand.utf8

If you do not use Oracle client then set Local Setting of the Computer to thai_thailand.

Detailed info I hope could be found in the PowerBuilder Manuals or using Google.
0
 

Author Comment

by:orinauts
ID: 18835878
ok. i have created the database. but when i use powerbuilder db profile to view. i created a table and tried to store some thai values there. when i use sqlplus to select , i can see the thai font. but if i use db profile, i see it as alien language unless i tick on the disable unicode. i have tried what u mentioned above.
0
 
LVL 48

Expert Comment

by:schwertner
ID: 18835968
0
 

Author Comment

by:orinauts
ID: 18836030
i have another question. when i am creating the database , for the Use unicode , i select AL32UTF8 , but for the part for NAtional Character set , do i choose UTF8 or AL16UTF16 ?
0
 

Author Comment

by:orinauts
ID: 18836065
or if have choose UTF8 , is it wrong ? or is it still possible to change it after i have finish creating it ?

thanks.
0
 
LVL 48

Expert Comment

by:schwertner
ID: 18836144
AL16UTF16 is the correct answer
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Read about achieving the basic levels of HRIS security in the workplace.
Recently, Microsoft released a best-practice guide for securing Active Directory. It's a whopping 300+ pages long. Those of us tasked with securing our company’s databases and systems would, ideally, have time to devote to learning the ins and outs…
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question