This discussion is archived
11 Replies Latest reply: Feb 18, 2009 2:21 AM by 562201 RSS

Issue in displaying Turkish Character on HP_UX

685124 Newbie
Currently Being Moderated
Hi,

The Unix version, I am using is

HPUXBaseAux B.11.23.0505 HP-UX Base OS

Following are the setting of locale and NLS_LANG at client side :
locale charmap
"utf8.cm"
echo $LC_ALL
en_US.utf8

echo $NLS_LANG
AMERICAN_AMERICA.UTF8

The settings with UTF-8 are working perfectly fine on solaris.However, package en_US.UTF-8 is not on HP and thus we had to change to en_US.utf8.

I cannot use a Turkish locale , as application has to support both English and Turkish.Also, when i did tried with Turkish locale, application failed to start.

I am not sure what might be causing the issue.One more thing is at Oracle database server side, I see one another differnce, though i m not sure if that might be causing the same thing to not work on HP.

On solaris :

NLS_CHARACTERSET is WE8MSWIN1252

On HP :

NLS_CHARACTERSET is WE8ISO8859P1

Also, to add On Solaris, RDBMS was 11.0.2.6 while HP application is talking to 10.0.2 and as i had mentioned earlier, the NLS_CHARACTERSET at server side are also different.

This is very Urgent.Any Help is greatly appreciated.

Thanks
  • 1. Re: Issue in displaying Turkish Character on HP_UX
    orafad Oracle ACE
    Currently Being Moderated
    First I thought I should mention that otn has a separate forum for NLS / [Globalization Support|http://forums.oracle.com/forums/forum.jspa?forumID=50].

    What is the issue? How are you retrieving character data, what do you expect and what do you see instead?

    Which characters are not displayed properly? Could you query the related table and post the output from e.g.
    sql> select col, dump(col, 1016) from table where suitable_condition ...;

    Also, none of the two mentioned database character sets support Turkish well, so there is something missing from this equation. The character set standards that specifically support Turkish letters are ISO 8859-9 and code page Windows-1254, but I can't tell if you have the need for "additional" characters defined by these. Corresponding [Oracle char sets|http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#i635016] are listed by table A-4 in the Locale data appendix, and there is a table of languages supported per the ISO 8859 character sets.

    Edited by: orafad on Feb 15, 2009 3:25 PM
  • 2. Re: Issue in displaying Turkish Character on HP_UX
    685124 Newbie
    Currently Being Moderated
    Thanks for referring me to the Gloabalization URL.That would definitely help me in atleast providing you with more correct data.


    I want to store some turkish characters, for example ğçıöşü, and Its stored as ¿ç¿ö¿ü.

    While in sqlplus, I am not able to copy the above turkish exactly and thus it gets pasted as .g.v.|.

    I ran the query as you said, SQL > select DUMP('.g.v.|',1016) FROM <table_name>;

    OUTPUT :

    Typ=96 Len=6 CharacterSet=WE8ISO8859P1: 2e,67,2e,76,2e,7c

    My issue gets reolved in Solaris box, with 11G database setting and charset set to WE8MSWIN1252.All the details provided above.

    Please let me know, If u want some more information.

    Thanks so lot.
  • 3. Re: Issue in displaying Turkish Character on HP_UX
    orafad Oracle ACE
    Currently Being Moderated
    user771035 wrote:
    I want to store some turkish characters, for example ğçıöşü, and Its stored as ¿ç¿ö¿ü.
    The g with breve, dotless i, and s with cedilla characters are typical Turkish letters, if I got that right? (The remaining characters can be found in 8859-1)

    Where and how do you enter these when they get stored as ¿ (inverted question mark)?


    >
    While in sqlplus, I am not able to copy the above turkish exactly and thus it gets pasted as .g.v.|.
    Please describe the procedure. (in sqlplus "gui" version on Windows, or are you using a terminal program like putty, how do you copy, etc. etc.)

    >
    Typ=96 Len=6 CharacterSet=WE8ISO8859P1: 2e,67,2e,76,2e,7c
    From this I would suspect that a replacement took place earlier on; the dot character code (0x2e) could indicate a font related problem when you copy-paste the string.

    Please re-run the query against the table column with stored turkish characters, to eliminate the copy-paste step.

    My issue gets reolved in Solaris box, with 11G database setting and charset set to WE8MSWIN1252.All the details provided above.
    If you copy paste as above to this 11g database, does it then work as expected (no dots)? If so, what are the differences between the two environments?

    Edited by: orafad on Feb 16, 2009 9:55 PM
  • 4. Re: Issue in displaying Turkish Character on HP_UX
    orafad Oracle ACE
    Currently Being Moderated
    I should just add something about dots appearing in pasted test:

    For example, when "ğçıöşü" is input to a PuTTY session with Latin-1 setting, I get ".ç.ö.ü" back. (Here, Oracle is not even in the game.)
    When pasting the string to a Windows command box with raster fonts, the characters does not display properly.

    So again, I think copy paste not working as expected is related to translation on some other level.
  • 5. Re: Issue in displaying Turkish Character on HP_UX
    685124 Newbie
    Currently Being Moderated
    Thanks for the pointing me to putty translations set.After i changed it to UTF-8

    And when i ran, SQL> select DUMP('ĞÇIÖŞÜ',1016) FROM <table> the Output was -> Typ=96 Len=6 CharacterSet=WE8MSWIN1252: 47,c7,49,d6,53,dc

    And when i ran, SQL> select DUMP('ğçıöşü',1016) FROM <table> the Output was -> Typ=96 Len=6 CharacterSet=WE8MSWIN1252: 67,e7,69,f6,73,fc

    Can you please give me some hint on what the above command is showing us.

    Also, As mentioned, when i changed the Database to 11G, with

    NLS_CHARACTERSET=WE8MSWIN1252
    NLS_NCHAR_CHARACTERSET=AL16UTF16
    NLS_TERRITORY=AMERICA
    NLS_LANGUAGE=AMERICAN

    I am now able to get , ĞÇIÖŞÜ as GÇIÖSÜ. However, The G and S should be like Ğ and Ş.

    Is it because, my database characterset, still cannot support ALL turkish characters ? Which Database character set support ALL Turkish characters ?

    Thanks for all the help @orafad.
  • 6. Re: Issue in displaying Turkish Character on HP_UX
    562201 Newbie
    Currently Being Moderated
    ı have approximately 30 db runs on different OS . our character set is ISO8859P9 and i dont have any problem about turkish characters. check your NLS settings on server and client side...

    if you have installed 2 db on this server and if their NLS settings different from each other this can be a problem . ı spent 2 day to solve this :))))

    Edited by: Gundem on Feb 17, 2009 12:06 PM
  • 7. Re: Issue in displaying Turkish Character on HP_UX
    685124 Newbie
    Currently Being Moderated
    Hi,

    Do u mean, NLS_CHARACTERSET= WE8ISO8859P1 ?

    If Yes, then i am back to square one, as I have already tried with this on Oracle 10G, and characterset along with

    NLS_NCHAR_CHARACTERSET=AL16UTF16
    NLS_TERRITORY=AMERICA
    NLS_LANGUAGE=AMERICAN.

    This was leading to ğçıöşü stored as ¿ç¿ö¿ü and ĞÇIÖŞÜ as ¿ÇIÖ¿Ü.

    Please correct me, If you meant, NLS_CHARACTERSET=ISO8859P9 (I was not able to find any reference of it on net), will it work for enligh as as well, with following settings :

    NLS_NCHAR_CHARACTERSET=AL16UTF16
    NLS_TERRITORY=AMERICA
    NLS_LANGUAGE=AMERICAN.

    Please drop in some details, I really need them. :)

    Thanks
  • 8. Re: Issue in displaying Turkish Character on HP_UX
    orafad Oracle ACE
    Currently Being Moderated
    user771035 wrote:
    I am now able to get , ĞÇIÖŞÜ as GÇIÖSÜ. However, The G and S should be like Ğ and Ş.
    Well, since [windows-1252|http://www.microsoft.com/globaldev/reference/sbcs/1252.mspx] does not define Ğ, İ, Ş, ... , something is bound to be lost. But replacement rules tries to help out by providing a close match, i.e. G, S, and I.

    >
    Is it because, my database characterset, still cannot support ALL turkish characters ? Which Database character set support ALL Turkish characters ?
    Yes!

    For Oracle's suggestion for Turkish, take a look at Oracle doc recommended Database Character sets list (Middle eastern language group section). The doc link can be found in one of my previous posts to this thread.
  • 9. Re: Issue in displaying Turkish Character on HP_UX
    orafad Oracle ACE
    Currently Being Moderated
    The [ISO 8859 Alphabet Soup|http://czyborra.com/charsets/iso8859.html] is worth a visit.

    WE8ISO8859P9 seems to be Oracle's implementation of the relevant part of the ISO/IEC 8859 standard character sets.
  • 10. Re: Issue in displaying Turkish Character on HP_UX
    562201 Newbie
    Currently Being Moderated
    no ı dıdnt mean 8859P1 , ı mean 8859P9 . oracle 10g also support 8859P9 character set so you wont have problem with english characters. turkish and english characters works fine on 8859p9 . look carafully during the installation to character set list... character set list doesnt sort by name. if you look carefully you can find 8859P9 .....
  • 11. Re: Issue in displaying Turkish Character on HP_UX
    562201 Newbie
    Currently Being Moderated
    if you use oracle forms&reports on client side , you have set your NLS_LANG parameters to AMERICAN.AMERICA.8859P9 on regedit on client side ...default parameter is different. if you dont set this parameter on client side on regedit you can get different character such as ¿ç¿ö¿ü...

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points