Special Options to Handle Character Encoding

NLS_LANG

By default, ora2pgpro will set NLS_LANG to AMERICAN_AMERICA.AL32UTF8 and NLS_NCHAR to AL32UTF8. It is not recommended to change those settings but in some case it could be useful. Using your own settings with those configuration directive will change the client encoding at Oracle side by setting the environment variables $ENV{NLS_LANG} and $ENV{NLS_NCHAR}.

BINMODE

By default, ora2pgpro will force Perl to use UTF8 I/O encoding. This is done through a call to the Perl pragma:

use open ':utf8';

You can override this encoding by using the BINMODE directive, for example you can set it to :locale to use your locale or iso-8859-7.

use open ':locale';
use open ':encoding(iso-8859-7)';

If you have changed the NLS_LANG to non-UTF8 encoding, you might want to set this directive. Most of the time, leave this directive commented.

CLIENT_ENCODING

By default, Postgres Pro client encoding is automatically set to UTF8 to avoid encoding issues. If you have changed the value of NLS_LANG, you might have to change the encoding of the Postgres Pro client.

For the Postgres Pro supported character sets, see Character Set Support.

FORCE_PLSQL_ENCODING

To force UTF8 encoding of the PL/SQL code exported, enable this directive. Could be helpful in some rare condition.

pdf