Skip to main content
Question

GBP Pound sign £ returned by Oracle 19 (WE8ISO8859P15) displayed as # in Uniface 10.4 application

  • November 10, 2025
  • 2 replies
  • 24 views

Henk Van der Veer

Anyone ran into the following? And knows a solution?

Environment:

  • Uniface 10.4.02.58 on Windows 10 and RedHat 9.4 Linux
  • Character set for I/O ($DEF_CHARSET:
    - Windows: CP1252 (default)
    - Linux: LATIN1 (default)

Oracle Database 19c, 
NLS_CHARACTERSET defined as WE8ISO8859P15; this is supposed to be ISO 8859-15 including £ and € 

GBP pound sign £ stored in a database table or returned in the text of a Stored Package is displayed in Uniface (both Windows GUI and Linux CHUI) as #. 

Setting $DEF_CHARSET on the client(s) and userver to UTF8 helps, but has a negative side effect on tables with column LONG RAW, such as PRATT. 

2 replies

Peter Beugel
Forum|alt.badge.img
  • Rocketeer
  • 70 replies
  • November 12, 2025

Hello Henk

 

I can reproduce this  when not setting NLS_LANG on the client side.

 

Your result should be ok after setting NLS_LANG to match the database character set

and $DEF_CHARSET to match NLS_LANG.

 

For example

[SETTINGS]

$DEF_CHARSET = LATIN9

 

and in script to test Uniface

set "NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P15"

 

 

 


Ingo Stiller
Forum|alt.badge.img+3
  • Participating Frequently
  • 317 replies
  • November 13, 2025

Hi Henk

Since I have been interested in such problems for decades, I surfed the internet to see if there was an explanation. And yes, the very old, deep-rooted cause is that the Americans gave the # character the name ‘pound’.  
This still has an effect today: databases with older code pages that are labeled as American  replace the input ‘£’ with ‘#’. 
See also:
https://comp.databases.oracle.misc.narkive.com/zHkR8i6T/oracle-8i-pound-symbols-stored-as-hashes

Maybe and if it possible, teh database had to switch to some european settings :-)

groeten van de Rijn
Ingo