ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
Note: Internationalization is often abbreviated as I18N (or i18n or I18n) where the number 18 refers to the number of letters omitted.
AUTHID
DEFINER
Constants
Name
Data Type
Value
Encode SQL-XML Function
XMLTAG_TO_SQLNAME
PLS_INTEGER
0
SQLNAME_TO_XMLTAG
PLS_INTEGER
1
General: Used with SHIFT_STATUS
SHIFT_IN
PLS_INTEGER
0
SHIFT_OUT
PLS_INTEGER
1
Locale Map Flaggings
GENERIC_CONTEXT
PLS_INTEGER
0
IANA_TO_ORACLE
PLS_INTEGER
1
MAIL_CONTEXT
PLS_INTEGER
1
MAIL_GENERIC
PLS_INTEGER
0
MAIL_WINDOWS
PLS_INTEGER
1
ORACLE_TO_IANA
PLS_INTEGER
0
Translation Flags
LANGUAGE_TRANS
PLS_INTEGER
0
TERRITORY_TRANS
PLS_INTEGER
1
LANGUAGE_TERRITORY_TRANS
PLS_INTEGER
2
Transliteration Constants
KANA_FWKATAKANA
VARCHAR2(30)
'kana_fwkatakana'
KANA_HWKATAKANA
VARCHAR2(30)
'kana_hwkatakana'
KANA_HIRAGANA
VARCHAR2(30)
'kana_hiragana'
FWKATAKANA_HWKATAKANA
VARCHAR2(30)
'fwkatakana_hwkatakana'
FWKATAKANA_HIRAGANA
VARCHAR2(30)
'fwkatakana_hiragana'
HWKATAKANA_FWKATAKANA
VARCHAR2(30)
'hwkatakana_fwkatakana'
HWKATAKANA_HIRAGANA
VARCHAR2(30)
'hwkatakana_hiragana'
HIRAGANA_FWKATAKANA
VARCHAR2(30)
hiragana_fwkatakana'
HIRAGANA_HWKATAKANA
VARCHAR2(30)
'hiragana_hwkatakana'
Data Types
TYPE string_array IS TABLE of VARCHAR2(32767)
INDEX BY BINARY_INTEGER;
utl_i18n.encode_sql_xml(
name IN VARCHAR2 CHARACTER SET ANY_CS,
flag IN PLS_INTEGER DEFAULT XMLTAG_TO_SQLNAME)
RETURN VARCHAR2 CHARACTER SET name%CHARSET;
SQL> SELECT utl_i18n.encode_sql_xml('_xFFFF_',1)
2 FROM dual;
Returns the default Oracle character set name or the default e-mail safe character set name from an Oracle language name
utl_i18n.get_default_charset(
language IN VARCHAR2,
context IN PLS_INTEGER DEFAULT GENERIC_CONTEXT,
iswindows IN BOOLEAN DEFAULT FALSE)
RETURN VARCHAR2;
SQL> SELECT utl_i18n.get_default_charset('English', 0)
2 FROM dual;
Returns the local territory names for the specified language
utl_i18n.get_local_territories(language IN VARCHAR2 CHARACTER SET ANY_CS)
RETURN string_array;
set serveroutput on
SQL> DECLARE
2 retVal utl_i18n.string_array;
3 cnt PLS_INTEGER;
4 BEGIN
5 retval := utl_i18n.get_local_territories('ENGLISH');
6 dbms_output.put('Count = ');
7 dbms_output.put_line(retval.LAST-retval.FIRST+1);
8 cnt := retval.FIRST;
9 WHILE cnt IS NOT NULL LOOP
10 dbms_output.put_line(retval(cnt));
11 cnt := retval.NEXT(cnt);
12 END LOOP;
13* END;
14 /
Count = 36
UNITED KINGDOM
AMERICA
ANTIGUA AND BARBUDA
AUSTRALIA
BAHAMAS
BARBADOS
BELIZE
BERMUDA
BOTSWANA
CANADA
CAYMAN ISLANDS
DOMINICA
GHANA
GRENADA
GUYANA
HONG KONG
INDIA
IRELAND
JAMAICA
MALAWI
MAURITIUS
NAMIBIA
NEW ZEALAND
NIGERIA
PAKISTAN
SAINT KITTS AND NEVIS
SAINT LUCIA
SIERRA LEONE
SINGAPORE
SOUTH AFRICA
SOUTH SUDAN
SWAZILAND
TRINIDAD AND TOBAGO
UGANDA
ZAMBIA
ZIMBABWE
Returns the translation of the language and territory name in the specified translation language
utl_i18n.get_translation(
param1 IN VARCHAR2 CHARACTER SET ANY_CS,
trans_language IN VARCHAR2 DEFAULT 'AMERICAN',
flag IN PLS_INTEGER DEFAULT LANGUAGE_TRANS)
RETURN VARCHAR2 CHARACTER SET param1%CHARSET;
set linesize 121
col parameter format a20
col value format a20
SELECT * FROM gv$nls_valid_values;
SQL>
SELECT utl_i18n.get_translation('SIMPLIFIED CHINESE', 'ITALIAN')
2 FROM dual;
Maps an Oracle character set name to an IANA character set name
Maps an IANA character set name to an Oracle character set name
Maps an Oracle character set to an e-mail safe character set name
utl_i18n.map_charset(
charset IN VARCHAR2,
context IN PLS_INTEGER DEFAULT GENERIC_CONTEXT,
flag IN PLS_INTEGER DEFAULT ORACLE_TO_IANA)
RETURN VARCHAR2;
SQL> SELECT utl_i18n.map_charset('iso-8859-1', 0, 1)
2 FROM dual;
utl_i18n.raw_to_char(
data IN RAW,
src_charset IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;
SQL> SELECT utl_i18n.raw_to_char('44616E204D6F7267616E','AL32UTF8')
2 FROM dual;
UTL_I18N.RAW_TO_CHAR('44616E204D6F7267616E','AL32UTF8')
--------------------------------------------------------
Dan Morgan
Overload 2
utl_i18n.raw_to_char(
data IN RAW,
src_charset IN VARCHAR2 DEFAULT NULL,
scanned_length OUT PLS_INTEGER,
shift_status IN OUT PLS_INTEGER)
RETURN VARCHAR2;
utl_i18n.raw_to_nchar(
data IN RAW,
src_charset IN VARCHAR2 DEFAULT NULL)
RETURN NVARCHAR2;
SQL> SELECT utl_i18n.raw_to_nchar('44616E204D6F7267616E','AL32UTF8')
2 FROM dual;
UTL_I18N.RAW_TO_NCHAR('44616E204D6F7267616E','AL32UTF8')
---------------------------------------------------------
Dan Morgan
Overload 2
utl_i18n.raw_to_nchar(
data IN RAW,
src_charset IN VARCHAR2 DEFAULT NULL,
scanned_length OUT PLS_INTEGER,
shift_status IN OUT PLS_INTEGER)
RETURN NVARCHAR2;