I installed Oracle 9i and Developer 6i on my PC. I aim to run a developed Oracle application that is made to run in Arabic and English. After I compile the form, all the Arabic words and characters on the form are appearing like this "?????." Using select statement in SQL Plus, the same problem appears again. I changed the character set but still have the same problem. I would like to mention that I have imported the tables and data after creation of database from a *.dmp file.
You should consult your client setting for NLS_LANG. On Windows, that will be stored in the registry. If not set, it will take the settings from the database server (which in your case, may be the same system). There is an excellent Metalink article on NLS_LANG settings and how they affect things like you're doing. There is also a book in the Oracle 9i Database documentation titled "Oracle 9i Database Globalization Support Guide Release 2 (9.2)". Chapter 3 of that book describes all the various NLS_* parameters in detail and their effects on your session. I believe that your issue is related to the character set that the client is using. To modify that character set, you need to set the NLS_LANG environment variable (or registry setting) to use the appropriate character set. The format of the NLS_LANG value is:
NLS_LANG = language_territory.charset
You might also try setting this:
ALTER SESSION SET nls_nchar_conv_excp = TRUE;
This will cause an exception to be raised whenever there is data loss during an implicit or explicit character type conversion. That may help uncover where your problem lies.
Dig Deeper on Oracle database design and architecture
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.