Operating System - HP-UX
1833895 Members
2009 Online
110063 Solutions
New Discussion

character sets , y umlaut

 
Eamon Larkin
New Member

character sets , y umlaut

Hi,

I have a problem with character sets on my HP.UX 11i

I have an Application running on this environment sitting on an oracle 8.1.7 database

Database has a Character Set of WE8MSWIN1252
Unix Environment has Character Set of iso88591

Unix NLS_LANG (used by Oracle) and Unix LANG (used by my Application server processes)
LANG=en_GB.iso88591
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

My problem arises when trying to use the y umlaut character entering it into the database through my application. It breaks a constraint on one of the database tables.
The core of the problem is that the y umlaut is changed to uppercase as part of the entry in the database.

The uppercase Y umlaut has a different position in iso88591 than in WE8MSWIN1252.
An uppercase Y umlaut in iso88591 does not correspond to uppercase Y umlaut to WE8MSWIN1252.

Is there any known way around this?
2 REPLIES 2
Alex Glennie
Honored Contributor

Re: character sets , y umlaut

there's been discussions skirting around similar issues before see http://forums.itrc.hp.com/cm/QuestionAnswer/1,,0x770f543254bfd611abdb0090277a778c,00.html

and http://technet.oracle.com//products/oracle8/htdocs/xnls3twp.htm

KBRC00009597 Unicode (UTF-8) FAQ's also has some useful info .... perhaps the answers to install and configure Unicode support on the HP systems but this is a guess and I don't have access to Oracle to test the theory .....
H.Merijn Brand (procura
Honored Contributor

Re: character sets , y umlaut

?? is 0xFF (255) in ISO-8859-1, which is the same as (char)-1

Do you have the same problems with ?? (small pilcrow, char -2, 0xFE (254)) ?

Unicode and ISO-8859-1 have some similarities, but don't play nice together. it is either-or, not and

?? (0xFF, 255) in 8859-1 is 0x00FF (255) in Unicode, but that is only the codepoint. Watch:

lep a5:/pro/tu/lep/4gl/l03f000 137 > perl -Mcharnames=:full,alias,pro -le'print "\N{y_DIAERES}"' | dump
[DUMP 0.5.05 UX]

00000000 FF 0A ..

lep a5:/pro/tu/lep/4gl/l03f000 138 > perl -Mcharnames=:full,alias,pro -le'print "\N{Y_DIAERES}"' | dump
[DUMP 0.5.05 UX]

00000000 Wide character in print at -e line 1.
C5 B8 0A ...

lep a5:/pro/tu/lep/4gl/l03f000 139 > perl -Mcharnames=:full,alias,pro -le'print "\N{Y_DIAERES} => \N{y_DIAERES}"' | dump
[DUMP 0.5.05 UX]

00000000 Wide character in print at -e line 1.
C5 B8 20 3D 3E 20 C3 BF 0A .. => ...

lep a5:/pro/tu/lep/4gl/l03f000 140 >


in ISO mode it outputs 0xFF
in Unicode mode it outputs 0xC3 0xBF

ouch!
Enjoy, Have FUN! H.Merijn