Skip to Main Content

Oracle Forms

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Forms 10g: Please help on Urdu Language Support

Ahmed HaroonDec 5 2016 — edited Dec 12 2016

hi all,

Database 11gR2, Forms 10g

Test App Server: OS = Windows 2003

Development:

OS = WinXP

created an entry in default.env file as  NLS_LANG=AMERICAN_AMERICA.AL32UTF8 which cause problem so remark it.

AMC.@.testdb > SELECT *

  2  from NLS_DATABASE_PARAMETERS

  3  WHERE parameter IN ( 'NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET');

PARAMETER                      VALUE

------------------------------ ----------------------------------------

NLS_LANGUAGE                   AMERICAN

NLS_TERRITORY                  AMERICA

NLS_CHARACTERSET               WE8MSWIN1252

We temporary changed above character set to AMERICAN.AMERICA.AL32UTF8 but we have to use WE8MSWIN1252 because here are some application modules running on Very Old version of Forms and Reports which is 6i.

created a Function to get values in xmltype ( thanks to Billy Verreynne ) through an another Function which convert these values in normal format ( thanks to odie_63 ) but due to some data in Urdu Language it not showing those column data as it should be. the first function getting data through a Web Service and data is in utf-8 character set.

link for above mentioned topic: How to access API through Web Service in Oracle 11gR2

@"odie_63" advised me in his Reply # 13 of topic Oracle 11g: Character Set / Language Problem :

As for your issue in Forms, I suggest you ask over in Forms space.

please help how to display Urdu Language in Forms 10g? it is very similar to Arabic Language and Right to Left.

regards

Comments

Dan Andro-Oracle

Hi,

you need to do the following:

1. On the client the Urdu language needs to be installed and set as default in Regional settings

2. On the server, you need to set NLS_LANG appropriately in a command prompt, foe example:

set NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252

Then you need to invoke the compiler from this command prompt window and compile the form. This is to ensure that the form is compiled with the appropriate character set.

3. You also need to set NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252 both in the Windows registry and in the Forms .env file (by default default.emv) on the server.

4. Restart Forms and check.

Regards,

Dan

Ahmed Haroon

Thanks a lot for your guidance to help me

will try to follow instructions and give here feedback.

regards

Ahmed Haroon

nothing worked, I am developing on Win XP where i set as you have mentioned, but still getting output on Form while running from my Form Builder as on screen shot below:

i have installed Urdu support and i can write Urdu in Notepad / MS Word / MS Outlook etc. but on Forms it is not showing even any single urdu character.

web_service_scr_shot1.JPG

regards

Amatu Allah Neveen Ebrahim

As Salamu Alikum We Rahmatu Allah We barakatu,

Ahmed, i don't know about Urdu language, but i think there is common logical concepts between Eastern languages. pls try to read this blog carefully up to its end

خطـــوات سهلـة لإنشــاء مشـــروع جديـــد Oracle Developer Training Tasks

In Shaa Alla it will helps u recognize the missing points to solve ur problem.

Amatu Allah.

Ahmed Haroon

Wa-Alaikum-us-Salam

on given link he is creating a new DB with particular character set / language. we can see the actual data in Urdu character set on TOAD and PL/SQL Developer when we set database character set AL32UTF8 but can't on Forms 10g.

when I set this character set in default.env then Forms rejecting at the time trying to connect " ORA-12705: invalid or unknown NLS parameter specified " .

regards

Amatu Allah Neveen Ebrahim

That's mean both the character set of database & client are not compatible.

Pls what is the out put of this query

     SELECT parameter , value
     FROM NLS_DATABASE_PARAMETERS
    WHERE parameter like ‘%CHARACTERSET’%;

Amatu Allah.

Ahmed Haroon

it can see in my first post here above ...

Okey, the following line make me confused what do u mean by...

We temporary changed above character set to AMERICAN.AMERICA.AL32UTF8 but we have to use WE8MSWIN1252 

1- According to ur old data requirements u have to alter current character set  AL32UTF8 to WE8MSWIN1252

using the following

ALTER DATABASE CHARACTER SET WE8MSWIN1252;

2.   Then, Client Side:

   Create a New User environment Variable named 'NLS_LANG'  with the  value:

AMERICAN_AMERICA.WE8MSWIN1252 

Amatu Allah.

Ahmed Haroon

yes, already we have it, we followed what @"Dan Andro-Oracle" guide, all steps completely but failed to have data in correct character set.

as mentioned, when we set AL32UTF8 then it is showing correct data in modern client apps like TOAD and PL/SQL Developer but not in Forms 10g

and when we revert it back to WE8MSWIN1252 not even showing correct data in TOAD and PL/SQL Developer as it should be.

the service provider send us data in utf-8 character set, it is Unicode.

i think now it is clear.

regards

Ahmed,

Would you post a screenshot of incorrect Forms 10g display with the database character set and NLS_LANG in default.env both set to AL32UTF8?

Thanks,

Sergiusz

Ahmed Haroon

when setting AL32UTF8 in default.env or as environment variable then at compile it is showing error

" ORA-12705: invalid or unknown NLS parameter specified " .

regards

Amatu Allah Neveen Ebrahim

i am just trying to help.

One tip: Pls try to do what we ask u to do

e.g.

i do expect to

Create a New User environment Variable named 'NLS_LANG'  with the  value as the db in toad.

Another one needs a screenshot from u.

Be attention pls.

U don't  carefully read our answers and u don't give us an expected feed back to our suggestions. I apologize,this may end to the worst case; ignoring the whole problem at least for me.

Thanks for ur understanding in advance.

Amatu Allah.

Ahmed Haroon

sorry, can't get " as the db in toad " ?

and screen shot for what ? if Forms output, it has been posted above in my reply #3 or what ?

regards

we can see the actual data in Urdu character set on TOAD and PL/SQL Developer when we set database character set AL32UTF8 but can't on Forms 10g.

what i mean the character set AL32UTF8  or any current character set u want according to ur needs.

It is very important to show us what character set u use in default.env file may be u misspell or have an extra space.

but If u Create a New User environment Variable named 'NLS_LANG'  with the  value as the db in toad. This will over ride ur default.env file

Amatu Allah.

Ahmed Haroon

currently I have this environment variable set as what we connect via TOAD ( as mentioned earlier we have to use this character set for our Forms 6i apps ) but it seems we have to use AL32UTF8 as per our tests yet and also mentioned that with AL32UTF8 we can't get Urdu text in proper character set in Forms 10g.

EnvironmentVariable.jpg

regards

If u create a database instance as mentioned b4 with the new character set u will be able to see the correct data in forms 10g. If & only if no new data inserted into the database with the wrong character set.

Hence, Both character set in forms & db MUST be the same.

Amatu Allah.

Ahmed Haroon

initially for testing, new oracle db created with AL32UTF8 character set, and on my PC i set environmental variable to same and now my Form module showing Urdu characters but not as it should be. majority of characters displayed separately, some are normal from right to left but some left to right, i download Urdu fonts but didn't helped.

if I set character set to Arabic as you advised, what about some characters which are in Urdu language but not in Arabic?

can it be done using Urdu fonts with Arabic character set ? please advise.

apologise for any inconvenience brother.

regards

Sergiusz Wolicki-Oracle

Please, paste the exact line you put in default.env. Note, the character set name must be preceded by "." in the NLS_LANG value:

NLS_LANG=.AL32UTF8

or

NLS_LANG=ARABIC_AMERICA.AL32UTF8

Also, I assume we are discussing Forms 10g. Do not use AL32UTF8 with Forms 6i, they need the character set named "UTF8" (which is actually the CESU-8 Unicode encoding).

Thanks,

Sergiusz

Amatu Allah Neveen Ebrahim

Well, the happy news is; it's a good step forward in ur progresses.

The  here (as mentioned in my blog)

The Oracle Universal Installer always makes checks on the default language you specified  for your Windows Operating System. This check makes sense to The Oracle database Installer to select the logical Character-set that fits your requirements.

No use for installing Urdu after installing db other wise u have to create a new instance db & a new user environmental variable with NLS_LANG as a name & with the correct value. to read the Urdu in forms.

just one tip: IF the user inserted data with the incorrect character set

DO NOT expect any change in displaying font. You must delete records and re-enter them.

u can also check

Oracle forms with Tamil fonts 

u may try to restart ur server just for effects to take place. Oracle Forms 11g with Arabic and English prompts 

Amatu Allah.

Ahmed Haroon

@"Sergiusz Wolicki-Oracle"

yes, we are talking about Forms 10g, i have mentioned in reply # 17 that i have create an environmental variable as NLS_LANG with value AMERICAN_AMERICA.AL32UTF8 and a new database instance with the same character set.

@"Amatu Allah Neveen Ebrahim"

i am not going to CREATE NEW INSTANCE, just ask about to change character set on DB to test with Arabic character set.

no user enter data but we are receiving through a web service which can't be changed.

thank you both of you for helping me a lot. as this is an assignment at work now here is weekend holiday Sat-Sun and an additional gazetted holiday on Monday. so, i can further test on Tuesday and can discuss more about my work.

regards

Ahmed Haroon

@"Amatu Allah Neveen Ebrahim"

i failed to get what is that java fallback folder which is mentioned your given link (below) and this marked as Answered ?

checkOracle forms with Tamil fonts

regards

1 - 21
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jan 9 2017
Added on Dec 5 2016
21 comments
4,168 views