change language for non unicode programs and oracle

I have Oracle 8i installed on Windows 2003 Server and I need to change the language for non Unicode programs from Windows Control Panel from English to Arabic in order to Write Text files from Oracle DB and read properly from the server.

Does this affect Oracle DB in anyway ?

Thank you
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

No this does not affect the database in any way BUT it can affect the way how characters are converted between code pages and displayed. The conversion may happen when you update data in the database.

It will also affect other non-Unicode programs running on the PC. English should be OK, other non-English languages (except Arabic) will be displayed incorrectly in such programs.

Just test it and you'll see.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
m_jundiAuthor Commented:
So,in order to read text files generated by oracle procedure correctly from the server , I need to to change language to Arabic ? because I saved the text file as UTF8 but characters are still not displayed correctly for Arabic.

My PC is set to Arabic and I can read text files directly generated on the sever, but when I change them from the server to utf8 and use my PC to read them , characters not displayed correctly !!!
Well this depends on the text editor you are using and also on the fonts installed on your PC.

If the text editor does not know how to process UTF-8 then you have to find another one. If Arabic fonts are not installed on the PC then you have to download them and install.

You may attach the sample of your UTF-8 text and printscreen of your editor window. It will help to recognize the problem.

Many text editors do not require to switch the language for non-Unicode programs because they are processing Unicode w/o problems.
Active Protection takes the fight to cryptojacking

While there were several headline-grabbing ransomware attacks during in 2017, another big threat started appearing at the same time that didn’t get the same coverage – illicit cryptomining.

slightwv (䄆 Netminder) Commented:
I'm confused here.

Are you saying you have Arabic characters stored in an Oracle database and now you want to extract the data to a file on the file system?

If so:
Are you sure the database has the characters stored correctly?  What is the database character set?
select * from nls_database_parameters;

What is the data type of the column you are extracting?

What tool/program are you using to extract the data?
m_jundiAuthor Commented:
Yes and I am using "utl_file" , character set is WE8ISO8859P1, data type is varchar2,

The default text file generated by the procedure is ANSI and I need it UTF8, Iam wondering if Oracle 8i - 8.1.6 able to write text data in utf8 directly ? because I am using a conversion to save it as utf8.

I can only see Arabic characters correctly only if Windows OS is set to Arabic for nonunicode programs,. The server is English.

The files attached after converting the file on the server machine to UTF8.
slightwv (䄆 Netminder) Commented:
I've never done this but the docs seem to point to it being possible.

Take a look at fopen_nchar:

And of course the necessary changes when writing to it like PUT_NCHAR.
Looking at the hex codes in the file Notepad shows what's inside correctly...

Either the conversion to UTF-8 was wrong or there is no conversion at all, just the UTF-8 marker (BOM) was added.

If the file shows correctly in Arabic Windows then it uses code page 1256 probably and you have to convert it once more if you need UTF-8.
m_jundiAuthor Commented:
slightwv, sounds oracle 8i does not support nvarchar2 !!
slightwv (䄆 Netminder) Commented:
Sorry.  I missed 8i in the original question.

I cannot find anything that will magically let 8i forcibly write a UTF8 file using PL/SQL.

If you still need a work-around to what you already have, I saw some Java code that claims to create a UTF8 file.  You might be able to create a Java Stored Procedure using that.

If I get some time later, I'll look around some more to see what other options I can find.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.