UTL_I18N is a group of services that provide additional globalization features for applications written in PL/SQL. The services are composed of ESCAPE_REFERENCE and UNESCAPE_REFERENCE functions.
ESCAPE_REFERENCE
Syntax
UTL_I18N.ESCAPE_REFERENCE( str IN VARCHAR2 CHARACTER SET ANY_CS, page_cs_name IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2 CHARACTER SET str%CHARSET;
Parameters
Parameter
Description
str
The input string.
page_cs_name
The character set of the document.
Description
The ESCAPE_REFERENCE function converts a text string to its character reference counterparts for the characters that fall outside the character set used in the current document. Character references are used in HTML and XML documents to represent characters. This is independent of the encoding of the document. Character references can appear in two forms: numeric character references and character entity references.
The following character sets are supported:
SQL_ASCII
UTF8
EUC_CN
GB18030
ISO_8859_5
LATIN1
Examples
-- ESCAPE_REFERENCE select UTL_I18N.ESCAPE_REFERENCE('hello < '||chr(229),'sql_ascii'); escape_reference ------------------- hello < å (1 row)
UNESCAPE_REFERENCE
Syntax
UTL_I18N.UNESCAPE_REFERENCE ( str IN VARCHAR2 CHARACTER SET ANY_CS) RETURN VARCHAR2 CHARACTER SET str%CHARSET;
Parameters
Parameter
Description
str
The input string.
Description
The UNESCAPE_REFERENCE function returns a string from an input string that contains character references. This function decodes each character reference into the corresponding character value.
Examples
-- UNESCAPE_REFERENCE select UTL_I18N.UNESCAPE_REFERENCE('hello < å'); unescape_reference -------------------- hello < å (1 row)