Re: diacriticals
Posted in 1998
On Wed, 12 Aug 1998 14:35:21 -0400, Nick Nobbe <nnob@loc.gov> wrote:
>
>environment:
> Online 7.13+
> Wyse 50 terminal emulation
>
>Using dbaccess, I can't seem to set a varchar field to characters with
>diacriticals, like =E9 for example. The vi editor displays the characters in
>escaped octal (looks like). Using =20
To get the vi editor to display such characters properly we have had
to set the LANG environement variable to an os supported locale
(norwegian_norway.8859 in our case, but others using the 8859-1
character set should work).
You obviously have to set your Wyse 50 terminal emulator to display 8
bit characters as well and using the same character set as defined by
your LANG variable. Additionally you have to make sure the full 8 bit
characters are received and sent by the emulator. This is an issue
both at the Unix (stty) level and in the emulator.
For dbaccess to accept the 8 bit characters in literal strings you
have to enable NLS support in the engine. I don't know how you do
that, but there is a manual for it (check out
http://www.informix.com/answers and go to the additional documentation
area for this old engine).
An upgrade would enable you to use GLS (Global Language Support) which
is porbably better.
>What's interesting - I can create a text file with the diacriticals using a
>Windows editor and then load the text file into a temp table, and then
>update the actual field in an existing table from the temp table. It looks
>like the editors and interfaces (like dbaccess) are getting in the way. The
>database will store (and display) the diacritical characters.
The fact that the characters are displayed correctly indicates that
your terminal emulator is allready in 8 bit mode as it should be.
Otherwise it's allways been the case that you can load anything into
character fields this way. It's the fault of some programmers at
Informix that made some significant effort to stop us all from
inputing what we wanted. I don't know why, but they did. With NLS or
GLS support enabled it will go away however.
>Has anyone else dealt with this problem and found it solvable or unsolvable?
>
>We are developing a front end with Power Builder and would like to pass PB
>the characters in question as part of an update statement.
If you put the characters into variables that you use in the statement
it should work as is. If you are creating sql statements as litteral
strings you have to enable NLS support. If you are using Informix
supplied connectivity programs (I-Net/I-Connect/I-CLI) you will have
to set up this on the client as well. If you are using OpenLink or
other server based ODBC drivers you can do it all on the server.
Nils Myklebust
NM Data AS
Norway
E-mail: Nils.Myklebust@nmdata.com
FAQ at: http://www.iiug.org/techinfo/faq/faq_top.html
(Now with ODBC info under "Third party products".)