top of page

Oracle Database 10g Developer 6i Settings For Arabic Urdu Support Work May 2026

Here’s a comprehensive, step-by-step guide to configuring Oracle Database 10g and Oracle Forms Developer 6i (and Reports 6i) for full Arabic and Urdu language support. This covers database character sets, NLS settings, form-level properties, and OS-level configurations.


Introduction: The Legacy Localization Challenge

Oracle Developer 6i (Forms and Reports) paired with Oracle Database 10g remains a critical legacy stack for many government, banking, and educational sectors across the Middle East and South Asia. However, a recurring nightmare for developers is ensuring that Arabic (Right-to-Left, Unicode) and Urdu (Perso-Arabic script with special characters) render correctly.

Unlike modern tools that handle Unicode natively, Developer 6i (circa 1999-2001) and Oracle 10g (2003) require strict, manual configuration of character sets, NLS parameters, and operating system locale settings. This article provides a definitive, step-by-step configuration guide.


5. Troubleshooting Common Issues

| Problem | Likely Cause | Solution | |---|---|---| | Arabic shows as ? or garbage | NLS_LANG mismatch | Set NLS_LANG=ARABIC_EGYPT.AR8MSWIN1256 | | Urdu characters disconnected | Win code page or font | Use Arial + set Windows non-Unicode to Arabic | | Text reversed (wrong direction) | Missing RTL property | Set ORIENTATION=RIGHT_TO_LEFT and JUSTIFICATION=RIGHT | | Cannot save special Urdu glyphs | Database using US7ASCII | Recreate DB with AR8MSWIN1256 or AL32UTF8 | | Cursor jumps incorrectly | Form canvas alignment | Align canvas fields to right edge, set Coordinate System appropriately | | Arabic numbers appear as English | NLS_NUMERIC_CHARACTERS | Set NLS_NUMERIC_CHARACTERS = '.,' but accept digits as-is |


3.4 Displaying Arabic/Urdu from Database

Place this in POST-QUERY or WHEN-NEW-RECORD-INSTANCE:

-- Force correct character set conversion (rarely needed)
SELECT CONVERT(column_name, 'AR8MSWIN1256', 'UTF8') 
INTO :block.field 
FROM table...

Further Resources

  • Oracle MOS Note: 158577.1 – "Setting up NLS_LANG for Arabic"
  • Oracle 10g Globalization Support Guide – Chapter 7 (Legacy Character Sets)
  • Unicode Consortium: Arabic and Urdu code charts (U+0600 to U+06FF)

Last tested configuration: Oracle Database 10.2.0.5 + Developer 6i (6.0.8.27) on Windows 10 21H2 with Urdu language pack.

Configuring Oracle Database 10g and Developer 6i to support bidirectional languages like Arabic and Urdu requires aligning settings across the database, client registry, and operating system. 1. Database Character Set Configuration

For a database to store and retrieve Arabic or Urdu data correctly, its character set must be compatible.

Recommended Character Set: Use UTF8 (universal) or AR8MSWIN1256 (specifically for Windows-based Arabic/Urdu support).

Verification: Check current database parameters with the query:SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';.

Modification: If the database is already created with an incompatible set (like WE8MSWIN1252), you may need to recreate it or use ALTER DATABASE CHARACTER SET under restricted session mode, though this is complex and risky for existing data. 2. Client-Side Registry Settings (Developer 6i)

The Oracle Home registry entry on the client machine tells Developer 6i how to interpret data from the database. Forms » Language - OraFAQ Forum

Configuring Oracle Database 10g and Developer 6i to support right-to-left languages like Arabic and Urdu requires careful synchronization between the database, the middleware, and the client operating system. Because Developer 6i is a legacy tool, it relies heavily on environment variables rather than modern Unicode auto-detection. Understanding the Core Components

To achieve proper rendering of Arabic and Urdu characters, you must align three specific layers:

The Database Character Set: The storage layer must support the characters.

The NLS_LANG Environment Variable: The "translator" between the client and server. The Client Operating System: Regional settings and fonts. Phase 1: Database Level Configuration

Before the application can display data, the database must be able to store it. For Oracle 10g, the recommended character sets for Arabic and Urdu are:

AR8MSWIN1256: Specifically for Windows-based Arabic support.

UTF8 / AL32UTF8: Universal support (preferred for Urdu which requires specific extended characters).

You can check your current database character set by running:SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET'; Phase 2: Configuring NLS_LANG Settings

The NLS_LANG parameter is the most critical setting. It tells the Developer 6i runtime how to encode and decode data sent to the database. This must be set in the Windows Registry of the client machine. Open the Registry Editor (regedit). the client operating system

Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE (or HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE on 64-bit systems).

Locate the Oracle Home used by Developer 6i (usually HOME0). Modify or create the String Value NLS_LANG. Recommended Values: For Arabic: ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256

For Urdu: ENGLISH_UNITED KINGDOM.AL32UTF8 (Note: Developer 6i has limited UTF8 support; if issues occur, use ARABIC_PAKISTAN.AR8MSWIN1256). Phase 3: Developer 6i Forms and Reports Settings

Even with the correct registry settings, the UI components need to be told to behave in a Right-to-Left (RTL) manner. Forms Runtime Settings

Direction Property: In Oracle Forms Builder, set the "Direction" property of your Canvas or Windows to Right-to-Left.

Reading Order: Set the "Reading Order" for text items to Right-to-Left.

Character Set Property: Ensure the font used (e.g., Arial, Tahoma, or Courier New) is a TrueType font that supports the Arabic script. Reports Builder Settings

UI_ICON: Set the environment variable UI_ICON if custom icons are used, but more importantly, ensure the REPORTS_PATH includes the folders where your Urdu/Arabic fonts are located.

PDF Generation: If generating PDFs, you must modify the uafont.txt file in the Oracle Home to map fonts like "Courier New" to their CID equivalents to prevent "garbage" characters. Phase 4: Windows Operating System Requirements

The host machine running the 6i Runtime needs the underlying language files. Go to Control Panel > Regional and Language Options.

In the "Languages" tab, check "Install files for complex script and right-to-left languages".

In the "Advanced" tab, set the Language for non-Unicode programs to "Arabic" or "Urdu". This is vital because Developer 6i is a non-Unicode legacy application. Troubleshooting Common Issues

Reversed Characters: If letters appear disconnected or reversed, it is almost always an NLS_LANG mismatch between the registry and the database.

Question Marks (???): This indicates the character set in NLS_LANG cannot translate the data coming from the database. Ensure you are using AR8MSWIN1256.

Square Boxes: This is a font issue. The selected font in the Form/Report does not contain the glyphs for Arabic or Urdu.

In the late 90s and early 2000s, a legacy developer faced a common hurdle: making Oracle Developer 6i and Oracle Database 10g speak Arabic and Urdu fluently. This "story" of configuration is essentially a three-part journey involving the database, the client registry, and the user interface. Chapter 1: The Foundation (Database Character Set)

The journey begins at the database level. For 10g to understand Arabic or Urdu script, it must be created with a character set that supports them.

Recommendation: Use AL32UTF8 (Unicode) for the broadest support, including Urdu-specific characters that standard Arabic sets might miss.

Traditional Choice: AR8MSWIN1256 is a common choice for Arabic-only environments but may have limitations with certain Urdu fonts.

Verification: Check your current settings with:SELECT * FROM nls_database_parameters; Chapter 2: The Language of the Client (NLS_LANG) ALTER DATABASE CHARACTER SET INTERNAL_USE AR8MSWIN1256

The most critical setting is the NLS_LANG parameter in the Windows Registry. This tells Developer 6i how to interpret the data coming from the database. Writing Urdu or Arabic in Oracle Forms 6i

In (Win95/NT/2000 client ) by using the blow details . Title : NLS Setting for Oracle Environment: ------------------------------- Oracle Forums

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:

  1. Open the Oracle Enterprise Manager 10g console and navigate to the "Database" tab.
  2. Click on "Create" to create a new database.
  3. Select "Oracle Database 10g" as the database type.
  4. Choose "Unicode" as the character set.
  5. Select "AL32UTF8" as the Unicode character set.

Step 2: Configure National Character Set

To configure the national character set, follow these steps:

  1. Connect to the database using SQL*Plus or Oracle Enterprise Manager 10g.
  2. 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:

  1. Connect to the database using SQL*Plus or Oracle Enterprise Manager 10g.
  2. 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:

  1. Open Oracle Developer 6i and navigate to the "Tools" menu.
  2. Select "Preferences" and then click on "Fonts".
  3. Set the font to a Unicode font, such as "Arial Unicode MS" or "Tahoma".
  4. Set the character set to "Unicode (UTF-8)".

Step 2: Set the Font Settings

To set the font settings, follow these steps:

  1. Open Oracle Developer 6i and navigate to the "Tools" menu.
  2. Select "Preferences" and then click on "Fonts".
  3. 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:

  1. Open Oracle Developer 6i and create a new form or report.
  2. Set the layout to "Right-to-Left" (RTL) for Arabic and Urdu languages.
  3. 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:

  1. Create a sample form or report with Arabic or Urdu text.
  2. Run the form or report and verify that the text is displayed correctly.
  3. 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.

To enable Arabic and Urdu support across Oracle Database 10g and Developer 6i (Forms and Reports), you must align the character sets of the database, the client operating system, and the application registry. 1. Database Character Set Configuration

Your database must use a character set that supports Arabic/Urdu script.

Recommended Set: AR8MSWIN1256 (Arabic Microsoft Windows-1256) is standard for Arabic and Urdu support.

Alternative: UTF8 or AL32UTF8 provides broader Unicode support if you need multi-language compatibility beyond Arabic/Urdu.

Check Current Set: Run SELECT * FROM nls_database_parameters; to verify.

Changing Character Set: If the database is already created with an incompatible set (like WE8MSWIN1252), it is often safest to recreate it or use the INTERNAL_USE command (e.g., ALTER DATABASE CHARACTER SET INTERNAL_USE AR8MSWIN1256;) after a full backup. 2. Client Registry Settings (Forms & Reports 6i)

Developer 6i relies on the NLS_LANG parameter in the Windows Registry to interpret data. Writing Urdu or Arabic in Oracle Forms 6i

This text is designed to serve as a Standard Operating Procedure (SOP) or technical reference document for Database Administrators (DBAs) and Developers. Conclusion In this article


5.2 PDF Generation (Common Issue)

If generating PDFs results in "??????":

  • Ensure the REPORTS_PATH environment variable includes the directory containing the font files (.ttf).
  • Modify the uifont.ali file located in the Developer suite reports/admin/ directory to map screen fonts to printer fonts correctly.
bottom of page