Oracle Database 10g Developer 6i Settings For Arabic Urdu Support Work Verified -
Bridging the Legacy Gap: Configuring Oracle 10g & Developer 6i for Arabic/Urdu Support
If you are reading this, you are likely wrestling with a specific, somewhat legacy challenge: getting a system running Oracle Database 10g on the backend and Oracle Developer 6i (Forms & Reports) on the frontend to play nice with Arabic or Urdu data.
It is a common scenario in many established enterprises. Developer 6i is a robust tool that refuses to die, but it was built in an era where Unicode support wasn't the standard default. Getting your forms to display Right-to-Left (RTL) text correctly—and ensuring that data stored in the database is retrievable without turning into "gibberish"—requires a specific set of configurations.
In this guide, we will walk through the essential settings to achieve seamless bi-directional (Bi-Di) support.
Step 2: Registry Settings (The NLS_LANG Key)
This is the most critical step. The Oracle Client (used by Developer 6i) needs to know how to interpret the bytes it receives from the database.
- Open the Windows Registry (
regedit). - Navigate to:
HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->KEY_DevSuiteHome(or your specific Oracle Home name for Developer 6i). - Locate the string value NLS_LANG.
The Setting: For Arabic/Urdu support with Developer 6i, set the value to:
ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256
Why this specific string?
- Language (ARABIC): Tells the client to use Arabic locale conventions (like day/month names).
- Territory (UNITED ARAB EMIRATES): Sets defaults for date formats, currency, etc. (You can use
SAUDI ARABIAor others depending on your region). - Character Set (AR8MSWIN1256): This must match the database character set. If your database is
AR8MSWIN1256, the client and server speak the same language.
Check Current Database Character Set:
SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';
Step
To support Arabic and Urdu in a setup with Oracle Database 10g and Developer 6i, you must align the character set settings across the database, the client operating system, and the Developer 6i environment. 1. Database Configuration
The database must be created or altered to use a character set that supports Right-to-Left (RTL) scripts.
Recommended Character Sets: AR8MSWIN1256 (Windows Arabic) or AL32UTF8 (Unicode).
Check Current Settings: Run the query SELECT * FROM nls_database_parameters;.
Changing the Character Set: If the database was created with an incompatible set (like WE8MSWIN1252), it may need to be recreated or altered using:
SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER DATABASE OPEN; ALTER DATABASE CHARACTER SET AR8MSWIN1256; SHUTDOWN IMMEDIATE; STARTUP; Use code with caution. Copied to clipboard
Note: Changing the character set on an existing database with data can be complex and may require data migration. 2. Client Registry Settings (Developer 6i)
Oracle Developer 6i relies on the NLS_LANG parameter in the Windows Registry to determine how it interprets and displays data.
Registry Path: Open regedit and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE (or HOME0 depending on your installation).
Value to Set: Change the NLS_LANG value to AMERICAN_AMERICA.AR8MSWIN1256.
Using AL32UTF8 is often recommended for modern setups, but legacy Developer 6i tools sometimes struggle with Unicode, making AR8MSWIN1256 a common stable choice for Arabic/Urdu. 3. Windows Operating System Settings
The local machine must have the appropriate language support installed to render characters correctly.
System Locale: Go to Control Panel > Region > Administrative > Change System Locale. Set this to Arabic or Urdu and restart.
Fonts: Ensure RTL-compatible fonts like Arabic Transparent, Times New Roman, or Urdu Typesetting are installed. 4. Forms and Reports 6i Specifics Forms 10g: Please help on Urdu Language Support
Configuring Oracle Database 10g and Developer 6i for Arabic and Urdu support requires synchronizing character sets across the database, the operating system, and the development tools. Because both languages are Right-to-Left (RTL) and use similar scripts, their configuration steps are largely identical. 1. Database Level Configuration Bridging the Legacy Gap: Configuring Oracle 10g &
To store and retrieve Arabic/Urdu data correctly, the database character set must support these scripts.
Preferred Character Set: AR8MSWIN1256 (standard for Arabic/Urdu on Windows) or AL32UTF8 (Unicode, for multi-language support).
Checking Current Settings: Run SELECT * FROM nls_database_parameters; to verify NLS_CHARACTERSET.
Changing Character Set: If the database is already created with a Western set (like WE8MSWIN1252), you may need to recreate it or use ALTER DATABASE commands in a restricted session, though migration is complex if data already exists. 2. Developer 6i (Forms & Reports) Client Settings
The client machine must be told how to interpret the data coming from the database.
Registry Key: Open regedit and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE (or the specific Oracle Home for Dev 6i).
NLS_LANG Value: Change the NLS_LANG string to AMERICAN_AMERICA.AR8MSWIN1256 or ARABIC_SAUDI ARABIA.AR8MSWIN1256.
Urdu Specifics: While Arabic settings often work for Urdu, ensure the Windows System Locale is set to Urdu in the Control Panel (Region & Language settings) to enable proper keyboard input and font rendering. 3. Application Design Settings
Within the Oracle Forms 6i builder, you must adjust the layout to handle RTL text.
Right-to-Left Alignment: For text items, set the Direction property to "Right to Left" and Alignment to "Right".
Font Selection: Use fonts that natively support Arabic/Urdu scripts, such as Arabic Transparent, Simplified Arabic, or Times New Roman.
Reports 6i: In the UIFONT.ALI file, ensure proper font mapping if reports are generated as PDFs or printed to ensure characters do not appear as junk or question marks. 4. Summary of Key Parameters Recommended Value NLS_LANG AMERICAN_AMERICA.AR8MSWIN1256 Client-side interpretation NLS_CHARACTERSET AR8MSWIN1256 or UTF8 Database-side storage Direction Right to Left Forms item property for RTL languages
Are you facing a specific issue, such as junk characters appearing in reports or keyboard input not switching to Urdu? Writing Urdu or Arabic in Oracle Forms 6i
Introduction
Oracle Database 10g Developer 6i is a popular integrated development environment (IDE) for building database applications. To support Arabic and Urdu languages, specific settings need to be configured in the Oracle 10g database and Developer 6i. This write-up provides a step-by-step guide on how to enable Arabic and Urdu support in Oracle Database 10g Developer 6i.
Database Settings
To support Arabic and Urdu languages, the Oracle 10g database needs to be configured with the following settings:
- Character Set: Set the character set to
AL32UTF8orAR8MSWIN1256to support Arabic and Urdu characters. You can check the current character set using the following SQL command:
SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
If the character set is not set to AL32UTF8 or AR8MSWIN1256, you can change it by executing the following SQL command:
ALTER DATABASE CHARACTER SET AL32UTF8;
- National Character Set: Set the national character set to
NCHAR_CSto support Unicode characters.
SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_NCHAR_CHARACTERSET';
If the national character set is not set to NCHAR_CS, you can change it by executing the following SQL command:
ALTER DATABASE NATIONAL CHARACTER SET NCHAR_CS;
- Language and Territory: Set the language and territory to support Arabic and Urdu languages. You can check the current language and territory using the following SQL command:
SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER IN ('NLS_LANGUAGE', 'NLS_TERRITORY');
If the language and territory are not set to Arabic or Urdu, you can change them by executing the following SQL commands:
ALTER SESSION SET NLS_LANGUAGE = 'ARABIC';
ALTER SESSION SET NLS_TERRITORY = 'SAUDI ARABIA';
or
ALTER SESSION SET NLS_LANGUAGE = 'URDU';
ALTER SESSION SET NLS_TERRITORY = 'PAKISTAN';
Developer 6i Settings
To support Arabic and Urdu languages in Developer 6i, follow these steps:
- Install the Arabic or Urdu Font: Install the Arabic or Urdu font on your system. You can download the font from the Oracle website or other reliable sources.
- Configure the Font in Developer 6i: Configure the font in Developer 6i by following these steps:
- Open Developer 6i and navigate to Tools > Preferences.
- In the Preferences window, navigate to Fonts > ** Font Settings**.
- Select the Arabic or Urdu font you installed earlier.
- Set the Language and Territory in Developer 6i: Set the language and territory in Developer 6i by following these steps:
- Open Developer 6i and navigate to Tools > Preferences.
- In the Preferences window, navigate to International > Language and Territory.
- Select the language and territory you set earlier in the database.
Form and Report Settings
To support Arabic and Unicode characters in Forms and Reports, follow these steps:
- Set the Form and Report Properties: Set the form and report properties to support Arabic and Unicode characters. You can do this by setting the following properties:
FORM_LAYOUT rtl(right-to-left) for Arabic and Urdu languages.FORM_FONTto the Arabic or Urdu font you installed earlier.
- Configure the Unicode Support: Configure Unicode support in Forms and Reports by setting the following parameters:
IC_LOCALEtoarorurfor Arabic and Urdu languages, respectively.IC_ CHARACTERSETtoUTF-8orAL32UTF8.
Testing and Verification
After configuring the settings, test and verify that Arabic and Urdu languages are supported correctly:
- Enter Arabic or Urdu Text: Enter Arabic or Urdu text in a form or report to verify that the characters are displayed correctly.
- Run a Report: Run a report with Arabic or Urdu text to verify that the report is generated correctly.
Conclusion
In conclusion, to support Arabic and Urdu languages in Oracle Database 10g Developer 6i, you need to configure the database character set, national character set, language, and territory. Additionally, you need to configure the font, language, and territory in Developer 6i, and set the form and report properties to support Arabic and Unicode characters. By following these steps, you can ensure that your Oracle Database 10g Developer 6i applications support Arabic and Urdu languages correctly.
Oracle Database 10g Developer 6i Settings for Arabic and Urdu Support
Oracle Database 10g is a robust and feature-rich relational database management system that supports a wide range of languages, including Arabic and Urdu. Oracle Developer 6i, a comprehensive development environment, provides a set of tools for building, deploying, and managing database applications. To support Arabic and Urdu languages in Oracle Database 10g using Developer 6i, specific settings and configurations are required. In this article, we will guide you through the process of configuring Oracle Database 10g and Developer 6i to support Arabic and Urdu languages.
Understanding Oracle Database 10g and Developer 6i
Before diving into the configuration process, it's essential to understand the basics of Oracle Database 10g and Developer 6i. Oracle Database 10g is a relational database management system that provides a robust platform for storing, managing, and retrieving data. Oracle Developer 6i, on the other hand, is a comprehensive development environment that includes tools such as Forms, Reports, and Designer.
Configuring Oracle Database 10g for Arabic and Urdu Support
To support Arabic and Urdu languages in Oracle Database 10g, you need to configure the database to use the Unicode character set. Unicode is a character encoding standard that supports a wide range of languages, including Arabic and Urdu.
Step 1: Create a New Database with Unicode Character Set
To create a new database with Unicode character set, follow these steps:
- Open the Oracle Enterprise Manager 10g console and navigate to the "Database" tab.
- Click on "Create" to create a new database.
- Select "Oracle Database 10g" as the database type.
- Choose "Unicode" as the character set.
- Select "AL32UTF8" as the Unicode character set.
Step 2: Configure National Character Set
To configure the national character set, follow these steps:
- Connect to the database using SQL*Plus or Oracle Enterprise Manager 10g.
- Execute the following command to set the national character set to Unicode:
ALTER DATABASE SET NATIONAL CHARACTER SET AL16UTF16;
Step 3: Set the Language and Territory
To set the language and territory, follow these steps:
- Connect to the database using SQL*Plus or Oracle Enterprise Manager 10g.
- Execute the following command to set the language and territory:
ALTER SESSION SET LANGUAGE=AR; // for Arabic
ALTER SESSION SET TERRITORY=EG; // for Egypt
For Urdu, use the following commands:
ALTER SESSION SET LANGUAGE=UR;
ALTER SESSION SET TERRITORY=PK;
Configuring Oracle Developer 6i for Arabic and Urdu Support
To configure Oracle Developer 6i for Arabic and Urdu support, you need to set the character set and font settings.
Step 1: Set the Character Set
To set the character set in Oracle Developer 6i, follow these steps:
- Open Oracle Developer 6i and navigate to the "Tools" menu.
- Select "Preferences" and then click on "Fonts".
- Set the font to a Unicode font, such as "Arial Unicode MS" or "Tahoma".
- Set the character set to "Unicode (UTF-8)".
Step 2: Set the Font Settings
To set the font settings, follow these steps:
- Open Oracle Developer 6i and navigate to the "Tools" menu.
- Select "Preferences" and then click on "Fonts".
- Set the font size and style according to your requirements.
Step 3: Configure Forms and Reports for Arabic and Urdu Support
To configure Forms and Reports for Arabic and Urdu support, follow these steps:
- Open Oracle Developer 6i and create a new form or report.
- Set the layout to "Right-to-Left" (RTL) for Arabic and Urdu languages.
- Use a Unicode font, such as "Arial Unicode MS" or "Tahoma", in the form or report.
Testing Arabic and Urdu Support
To test Arabic and Urdu support in Oracle Database 10g and Developer 6i, follow these steps:
- Create a sample form or report with Arabic or Urdu text.
- Run the form or report and verify that the text is displayed correctly.
- Test data entry and verify that Arabic and Urdu characters are accepted correctly.
Conclusion
In this article, we have provided a comprehensive guide on configuring Oracle Database 10g and Developer 6i to support Arabic and Urdu languages. By following the steps outlined in this article, you can create a robust and scalable database application that supports multiple languages, including Arabic and Urdu.
Best Practices
Here are some best practices to keep in mind when configuring Oracle Database 10g and Developer 6i for Arabic and Urdu support:
- Always use Unicode character sets to ensure maximum support for multiple languages.
- Use a consistent font and character set throughout the application.
- Test the application thoroughly to ensure that it works correctly with Arabic and Urdu characters.
Troubleshooting Tips
Here are some common issues and troubleshooting tips:
- Issue: Arabic or Urdu text is not displayed correctly. Solution: Verify that the character set and font settings are correct.
- Issue: Data entry is not accepted correctly. Solution: Verify that the database and application are configured to support Unicode characters.
By following these best practices and troubleshooting tips, you can ensure that your Oracle Database 10g and Developer 6i application supports Arabic and Urdu languages correctly and efficiently.
Important Note: Oracle Developer 6i is very old (circa 2000s) and was not fully Unicode-compliant. Oracle Database 10g is also desupported. The settings below represent the best possible legacy configuration for Arabic/Urdu support.
1. Direction (Right-to-Left)
Developer 6i forms default to Left-to-Right (LTR). You must change this property for your data blocks and items.
- Open your Form in Builder.
- Select the Data Block or the Canvas.
- In the Property Palette, look for Direction.
- Set it to Right-to-Left.
This ensures that when the user types, the cursor moves from right to left.
4) Forms 6i specific settings
- Forms 6i is old and has limited RTL support. To improve appearance:
- Use TrueType fonts that support Arabic/Urdu and are installed on client machines.
- In Forms Builder, set item font properties to a suitable TTF font (e.g., "Arial Unicode MS", "Tahoma", or a specific Nastaleeq font).
- For display, use single-line text items where possible; multi-line items may not render complex shaping correctly.
- Use canvas/PLATFORM specific font mapping (fontname property) and ensure clients have identical font names.
- For web-deployed Forms (Forms Services), configure the browser and jInitiator/JRE font settings so the Forms runtime picks client fonts that support complex scripts.
1. Understanding the Challenge
- Oracle 10g supports Unicode (AL32UTF8 / UTF8) fully.
- Developer 6i (released much earlier) has limited Unicode support; it relies on character set conversion and proper NLS_LANG settings.
- Arabic (Windows code page 1256) and Urdu (also uses Arabic script, plus extended characters) require right-to-left (RTL) display and correct shaping.
Critical: Developer 6i’s underlying Oracle Toolkit (Forms/Reports) expects the database character set to be compatible with the client’s
NLS_LANG. For Arabic/Urdu, you must avoid AL32UTF8 if using 6i unless carefully configured; instead, use AR8MSWIN1256 (Arabic Windows) as the database character set. Open the Windows Registry ( regedit )