Oracle Database 10g Developer 6i Settings For Arabic Urdu Support Work Verified Page

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).

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.

Enabling Arabic and Urdu Support in Oracle 10g & Developer 6i

Configuring older Oracle stacks for bidirectional (RTL) languages like Arabic and Urdu requires careful alignment between the database, the client registry, and the Forms/Reports design environment. 1. Database Character Set Configuration

For your database to correctly store Arabic or Urdu scripts, it must be created with a compatible character set. The industry standard for these regions is AR8MSWIN1256 Check Current Settings: SELECT * FROM nls_database_parameters; to verify your existing character set. Recommended Set: AR8MSWIN1256 (though 6i specifically prefers the older for Unicode needs). Conversion (If Needed): If the database is already created, you may need to use ALTER DATABASE CHARACTER SET AR8MSWIN1256; Configuring Oracle Database 10g and Developer 6i to

in restricted mode, though this is only recommended for databases with no conflicting data. 2. Windows Registry (Client Side)

parameter in the Windows Registry tells the Developer 6i runtime how to interpret data from the database. HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE (or the specific HOME key for 6i). Parameter: AMERICAN_AMERICA.AR8MSWIN1256 Alternative: If using Unicode, set it to AMERICAN_AMERICA.UTF8 is not compatible with 3. Operating System Settings

The host machine must have the appropriate language packs installed to render fonts correctly. Region and Language settings in the Control Panel. is added to the "Preferred languages" or "Keyboard" list. System Locale

(Administrative tab) to Arabic or Urdu to ensure non-Unicode programs (like 6i) handle the characters correctly. 4. Oracle Forms & Reports 6i Design Settings

Even with the right backend settings, you must adjust the UI components to support Right-to-Left (RTL) orientation. Reading Order: For text items, set the Reading Order property to Right to Left Alignment: property to

Use fonts that natively support Arabic/Urdu scripts, such as Traditional Arabic Simplified Arabic fonts for Urdu. Compilation: Ensure you compile your files on a machine where the is already set to the Arabic/Urdu character set. Summary Table: Quick Configuration Recommended Setting Database Charset AR8MSWIN1256 Registry NLS_LANG AMERICAN_AMERICA.AR8MSWIN1256 Windows Locale

Match your target language (e.g., Arabic (Egypt) or Urdu (Pakistan)) Forms Property Reading Order: Right to Left step-by-step guide

for migrating existing English data into an Arabic-enabled environment? 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

Forms 10g: Please help on Urdu Language Support - Oracle Forums

To enable Arabic and Urdu support in an environment using Oracle Database 10g and Developer 6i, you must align the database character set, client-side registry settings, and operating system language configurations. 1. Database Configuration

The database must be created with a character set that supports Arabic/Urdu scripts.

Recommended Character Set: AR8MSWIN1256 (Arabic Windows-1256) is commonly used for specialized Arabic support. Alternatively, UTF8 or AL32UTF8 provides broader multi-language flexibility. Verification: Check your current settings by running: SELECT * FROM v$nls_parameters; Use code with caution. Copied to clipboard

Modification: If your existing database uses a Western set (like WE8MSWIN1252), you may need to recreate the database or perform a complex conversion. For a new setup, ensure the NLS_CHARACTERSET is set to AR8MSWIN1256 during creation. 2. Client-Side (Developer 6i) Settings

Developer 6i relies on Windows registry settings to interpret data correctly.

Registry Key: Open regedit and navigate to:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE (or the specific HOME key for 6i, e.g., HOME0).

NLS_LANG Value: Set the NLS_LANG string to:AMERICAN_AMERICA.AR8MSWIN1256.

Note: Ensure this matches your database character set to avoid conversion issues. 3. Operating System Configuration

The Windows environment must be prepared to handle right-to-left (RTL) input.

Language Support: Install Arabic and/or Urdu language packs via the Windows Control Panel.

System Locale: In Regional and Language Options, set the "Language for non-Unicode programs" (System Locale) to Arabic or Urdu.

Fonts: Use fonts that support these scripts, such as Arabic Transparent or Simplified Arabic. 4. Forms Design (Developer 6i)

Alignment: In the Forms Builder, set the Reading Order or Direction property of text items to Right-to-Left.

Font Selection: Explicitly set the font of your text items to a compatible Arabic/Urdu font (e.g., Arial or Courier New with Arabic script support).

Are you setting this up for a new installation, or are you trying to fix existing data that currently appears as question marks? 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 Writing Urdu or Arabic in Oracle Forms 6i Character Set : Set the character set to

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

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

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

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) For accent/case-insensitive searches

Developer 6i relies on the NLS_LANG parameter in the Windows Registry to interpret data. 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:

  1. Character Set: Set the character set to AL32UTF8 or AR8MSWIN1256 to 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;
  1. National Character Set: Set the national character set to NCHAR_CS to 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;
  1. 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:

  1. 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.
  2. 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.
  3. 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:

  1. 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_FONT to the Arabic or Urdu font you installed earlier.
  2. Configure the Unicode Support: Configure Unicode support in Forms and Reports by setting the following parameters:
    • IC_LOCALE to ar or ur for Arabic and Urdu languages, respectively.
    • IC_ CHARACTERSET to UTF-8 or AL32UTF8.

Testing and Verification

After configuring the settings, test and verify that Arabic and Urdu languages are supported correctly:

  1. Enter Arabic or Urdu Text: Enter Arabic or Urdu text in a form or report to verify that the characters are displayed correctly.
  2. 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.

Conclusion: Legacy Doesn't Mean Broken

While Oracle Database 10g and Developer 6i are long past their support dates, they remain stable workhorses for organizations reluctant to modernize. Enabling proper Arabic and Urdu support requires discipline: use AL32UTF8 on the database, coerce Developer 6i via registry keys, and handle RTL logic in your triggers.

By following this guide, you can ensure that your forms display بسم اللہ and السلام علیکم correctly – and that Urdu letters like ڑ and ے appear as intended, not as empty squares.


1. Forcing Right-to-Left Display

Add this to the WHEN-NEW-FORM-INSTANCE trigger:

-- Set visual attributes for RTL
SET_ITEM_PROPERTY('block.text_item', VISUAL_ATTRIBUTE, 'ARABIC_VA');

Define a Visual Attribute called ARABIC_VA with:

  • Font: Arial Unicode MS
  • Justification: Right
  • Reading Order: Right-to-Left (if available in your OS)

1.3 Table/Column Definition

Ensure columns storing Arabic/Urdu use VARCHAR2 (if AR8MSWIN1256) or NVARCHAR2 (if AL32UTF8).

Example:

CREATE TABLE employees (
    id NUMBER,
    full_name NVARCHAR2(100),   -- Unicode
    address VARCHAR2(200 CHAR)  -- Character-length semantics
);

Use CHAR length semantics (VARCHAR2(50 CHAR)) to avoid byte-truncation.


2.4 Display & Printing Fonts

Install Arabic/Urdu fonts on Windows (e.g., Arial Unicode MS, Tahoma, Simplified Arabic).

In Developer 6i:

  • Tools → Preferences → Fonts → Set "Fixed Font" & "Variable Font" to an Arabic-capable font (e.g., Arial, size 10, script = Arabic)
  • In Forms: Set Font Name for each item to Arial or Tahoma

6. Testing Checklist

  • [ ] Database NLS_CHARACTERSET is AR8MSWIN1256 or AL32UTF8
  • [ ] Windows system locale set to Arabic
  • [ ] NLS_LANG environment variable = ARABIC_EGYPT.AR8MSWIN1256
  • [ ] Arabic/Urdu fonts installed and selected in form item
  • [ ] Item justification = Right, Orientation = Right-to-Left
  • [ ] Can type السلام عليكم and save/retrieve correctly
  • [ ] Urdu sample آپ کیسے ہیں؟ displays and saves without truncation

4. Application Development Best Practices

8) Sorting and searching

  • For correct linguistic sorting/searching, set appropriate NLS_SORT and NLS_COMP/session collations. Example:
    • ALTER SESSION SET NLS_SORT = BINARY_AI; -- tune per language needs
  • For accent/case-insensitive searches, use NLSSORT or COLLATE equivalents via functions or normalized columns.
Item added to cart.
0 items - $0.00
Desert Alchemy