PlsqlNLSLanguage
Specifies the NLS_LANG for this DAD.
This setting overrides the NLS_LANG environment variable for a database session, and defines some important NLS properties of the HTTP response, including the response character set.
If the PlsqlNLSLanguage
parameter is different from the backend database NLS_LANG
value, then mod_plsql will issue an ALTER SESSION
statement every time a new database connection is created for the DAD. The actual statement issued is
alter session set nls_language=
The character set portion of this setting is used by the networking layers below Oracle OCI to convert client string data to/from the database character set. This setting defines three things:
- The character set of the content coming back from the database
- The character set mod_plsql will use to override the binding of arguments passed via OCI
- The IANA character set used in the "Content-Type" header of an HTTP response coming from a PL/SQL procedure
- Syntax:
- PlsqlNLSLanguage [string]
- Default:
- [none]
- Example:
- PlsqlNLSLanguage German_Germany.WE8MSWIN1252
- PlsqlNLSLanguage American_America.UTF8
Tips for PlsqlNLSLanguage
You can determine the setting needed for PlsqlNLSLanguage
by doing
- Connecting to the target database using SQL*Plus
Running the query:
select parameter, value from nls_database_parameters where parameter in ( 'NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET' );
Sample outcome:
PARAMETER VALUE --------------------------- ------------------- NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CHARACTERSET WE8MSWIN1252
Most applications have PlsqlTransferMode
set to Char
which means that the character set in PlsqlNLSLanguage
needs to match the character set of
the backend database. In one special case, where the database and mod_plsql are both using fixed-size character sets, and the character set width matches,
the character set can be different. In either case, the response character set will always be the DAD character set.
For Portal, this setting should match the NLS_LANG of the back-end database. If PlsqlTransferMode
is set to Raw
, then this parameter can be ignored
In older versions, this parameter was called nls_lang