Default: NLS client character set as specified in the
NLS_LANG environment variable
CHARACTERSET parameter specifies a character set, other than the default, to use for the load.
Syntax and Description
CHARACTERSET parameter specifies the character set of the SQL*Loader input data files. If the
CHARACTERSET parameter is not specified, then the default character set for all data files is the session character set, which is defined by the
NLS_LANG environment variable. Only character data (fields of the SQL*Loader data types
EXTERNAL, and the datetime and interval data types) is affected by the character set of the data file.
character_set_name variable specifies the character set name. Normally, the specified name must be the name of a character set that is supported by Oracle Database.
For UTF-16 Unicode encoding, use the name UTF16 rather than AL16UTF16. AL16UTF16, which is the supported character set name for UTF-16 encoded data, is only for UTF-16 data that is in big-endian byte order. However, because you are allowed to set up data using the byte order of the system where you create the data file, the data in the data file can be either big-endian or little-endian. Therefore, a different character set name (UTF16) is used. The character set name AL16UTF16 is also supported. But if you specify AL16UTF16 for a data file that has little-endian byte order, then SQL*Loader issues a warning message and processes the data file as little-endian.
The term UTF-16 is a general reference to UTF-16 encoding for Unicode. The term UTF16 (no hyphen) is the specific name of the character set and is what you should specify for the
CHARACTERSET parameter when you want to use UTF-16 encoding. This also applies to UTF-8 and UTF8.
The following example specifies the UTF-8 character set:
> sqlldr hr TABLE=employees CHARACTERSETNAME=utf8