UTL_I18N是一組由ESCAPE_REFERENCE和UNESCAPE_REFERENCE函數組成的服務,可以為PL/SQL編寫的應用程序提供附加的全球化功能。

ESCAPE_REFERENCE

語法
UTL_I18N.ESCAPE_REFERENCE(
    str            IN VARCHAR2 CHARACTER SET ANY_CS,
    page_cs_name   IN VARCHAR2 DEFAULT NULL)
 RETURN VARCHAR2 CHARACTER SET str%CHARSET;
參數
參數名稱 描述
str 需要轉義的字符串。
page_cs_name 指定文檔的字符集。
描述
此函數將文本字符串轉換為與當前文檔使用的字符集不同的字符參考副本。字符引用主要用于HTML和XML文檔中,以獨立于文檔的編碼表示字符。字符引用可以兩種形式出現,數字字符引用和字符實體引用。

支持的字符集如下:

  • SQL_ASCII
  • UTF8
  • EUC_CN
  • GB18030
  • ISO_8859_5
  • LATIN1
示例
-- ESCAPE_REFERENCE
select UTL_I18N.ESCAPE_REFERENCE('hello < '||chr(229),'sql_ascii');
 escape_reference  
-------------------
 hello &lt; &#xe5;
(1 row)

UNESCAPE_REFERENCE

語法
UTL_I18N.UNESCAPE_REFERENCE ( 
   str IN VARCHAR2 CHARACTER SET ANY_CS)
 RETURN VARCHAR2 CHARACTER SET str%CHARSET;
參數
參數名稱 描述
str 需要反轉義的字符串。
描述
此函數從包含字符引用的輸入字符串中返回一個字符串。 它將每個字符參考解碼為相應的字符值。
示例
-- UNESCAPE_REFERENCE
select UTL_I18N.UNESCAPE_REFERENCE('hello &lt; &#xe5;');
 unescape_reference 
--------------------
 hello < ?
(1 row)