Convert Oracle codepage to UTF-8

Posted on 2005-02-28
Medium Priority
Last Modified: 2010-05-19
Hello there.

I need to convert the codepage of an Oracle 8.1.6 DB from EL8MSWIN1253 (The Greek codepage) to UTF-8. Any ideas?

Many Thanks.
Question by:chrispkotsiopoulos
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
  • 2
  • 2

Expert Comment

ID: 13420525
The codepage of an Oracle instance could be changed just if the target codepage is superset of the source one.
The UTF-8 is a superset of US7ASCII, WE8ISO8859P1, but not of the EL8MSWIN1253.

There are two major ways to manage it:

1. to create parallel Oracle instance with UTF-8, export previous data and import them into the new instance.
2. to set National_character_set to UTF-8 and retype international character strings to NVARCHAR2, NCLOB...

The first one is better, if you wants to change the charset completelly, I'm used to manage internationality by NCHAR types.

LVL 48

Assisted Solution

schwertner earned 500 total points
ID: 13420838
The export/import way is the best.
Before exporting set NLS_LANG environment variable (Registry!) to
to get the export file in UTF8 format.
If you do not do this you will experience conversion risks.

Author Comment

ID: 13423376
The only RDBMS I played with until now is Microsoft SQL Server. I don't have any experience with Oracle. All the articles and tutorials I found about exporting and importing an Oracle database are at least confusing. Is it possible to give me a detailed description of how to export and import or point me to a good tutorial?

Many thanks for the replies.

Accepted Solution

Jankovsky earned 500 total points
ID: 13427148
I'm used to do it in  command line

1. set the environment variable NLS_LANG as schwertner said
2. exp system/<pwd>@<db> full=y rows=y file=<file path specification>
3. create the new instance with UTF-8 codepage
4. imp system/<pwd>@<new db> file=<file path specification> ignore=y


Author Comment

ID: 13437158
It worked!
Thanks both.

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Introduction A previously published article on Experts Exchange ("Joins in Oracle", http://www.experts-exchange.com/Database/Oracle/A_8249-Joins-in-Oracle.html) makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows information on the Oracle Data Dictionary, starting with the Oracle documentation, explaining the different types of Data Dictionary views available by group and permissions as well as giving examples on how to retrieve data from th…
Suggested Courses

743 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