Thanks for replying, have already added NLS_LANG =
AMERICAN_AMERICA.WE8ISO8859P1 to the ColdFusion startup script, but think I
need to add it to the ENV_LIST instead. Will get the administrator to do so
ASAP.
Fingers crossed this should fix it then.
Thanks again
Mark
At 02:43 PM 3/30/2001, you wrote:
>Hi,
>
>Looks like you have two different problems...:
>
>Your ALTER SESSION command is not correct, first you do not need commas in
>this command, second and worse ALTER SESSION doe not support to set
>NLS_CHARSET which is an environment only variable.
>
>You should try to use the NLS_LANG env variable which works at the client as
>well as the server level. The syntax is NLS_LANG =
>language_territory.charset
>So on you Linux box this should be something like: setenv NLS_LANG
>AMERICAN_AMERICA.WE8ISO8859P1
>
>Here under a part of Oracle manual about that:
>
><snip> This feature implicitly determines the language environment of the
>database for each session. An ALTER SESSION statement is automatically
>executed when a session connects to a database to set the values of the
>database parameters NLS_LANGUAGE and NLS_TERRITORY to those specified by the
>language and territory arguments of NLS_LANG. If NLS_LANG is not defined, no
>ALTER SESSION statement is executed.
>When NLS_LANG is defined, the implicit ALTER SESSION is executed for all
>instances to which the session connects, for both direct and indirect
>connections. If the values of NLS parameters are changed explicitly with
>ALTER SESSION during a session, the changes are propagated to all instances
>to which that user session is connected. </snip>
>
>Dominique
>
>
>
>
>-----Original Message-----
>From: Mark Woods [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, March 29, 2001 3:38 PM
>To: CF-Talk
>Subject: Oracle drivers and 8bit (or multibyte) characters
>
>Hi,
>
>I've been having some trouble with a simple content management system
>written in CF, running on RedHat Linux with Apache and connecting to an
>Oracle 8i database.
>
>When an 8bit character (character with code between 128 and 255 inclusive)
>is added using one of the web forms, it's gets dropped to the 7bit ASCII
>range. The Merant ODBC driver and the Oracle 80 Native driver both drop 128
>from the 8bit character codes, e.g. chr(233), eacute, becomes chr(105), i.
>I have worked around this through a combination of using HTMLEditFormat and
>having some custom character code translations, but it is not ideal as this
>database may be used to publish to print again in the future (ok, I can
>un-escape characters, but why should I need to?).
>
>I have tried using the Oracle ALTER SESSION statement at the start of
>transactions to try and change the NLS_LANGUAGE, NLS_TERRITORY and
>NLS_CHARSET environment variables for the connection, but I think I may
>have the syntax wrong as I'm getting a "missing or invalid option" error.
>I've included my statement below, if anyone knows what's wrong, please let
>me know.
>
>Has anyone else experienced this? Is there a workaround? Can I force the
>drivers to send a correct ALTER SESSION statement when opening a
>connection? Should this be necessary, i.e. is there something amiss with
>the Oracle DBMS config that connecting clients are using the default Oracle
>charset of 7bit ASCII rather than the charset which has been set on the
>server, ISO-8859-1 (AFAIK using the NLS_LANG environment variable).
>
>Thanks
>
>Mark
>
>
>now, that alter session statement:
>-----------------------------------
>ALTER SESSION
> SET NLS_LANGUAGE = 'AMERICAN',
> NLS_TERRITORY = 'AMERICA',
> NLS_CHARSET = 'WE8ISO8859P1'
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists