文档

UTL_I18N

更新时间:

UTL_I18N是一组由ESCAPE_REFERENCEUNESCAPE_REFERENCE函数组成的服务,可以为PL/SQL编写的应用程序提供附加的全球化功能。

UTL_I18N子程序总览

子程序

说明

ESCAPE_REFERENCE Function

文本字符串转换为与当前文档使用的字符集不同的字符参考副本

UNESCAPE_REFERENCE Function

将包含字符引用的输入字符串转换为文本字符串。

STRING_TO_RAW Function

将VARCHAR2或NVARCHAR2字符串转换为另一个字符集。结果作为RAW类型返回。

RAW_TO_CHAR Function

将未在数据库字符集中编码的RAW数据转换为VARCHAR2字符串。

ESCAPE_REFERENCE

此函数将文本字符串转换为与当前文档使用的字符集不同的字符参考副本。字符引用主要用于HTML和XML文档中,以独立于文档的编码表示字符。字符引用可以以两种形式出现,数字字符引用和字符实体引用。支持的字符集如下:

SQL_ASCII

UTF8

EUC_CN

GB18030

ISO_8859_5

LATIN1

语法

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

指定文档的字符集。

返回值

参数名称

说明

VARCHAR2

转义结果字符串。

示例

-- ESCAPE_REFERENCE
SELECT UTL_I18N.ESCAPE_REFERENCE('hello < '||chr(229),'sql_ascii') FROM dual;
 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

需要反转义的字符串。

返回值

参数名称

说明

VARCHAR2

反转义结果字符串。

示例

-- UNESCAPE_REFERENCE
SELECT UTL_I18N.UNESCAPE_REFERENCE('hello &lt; &#xe5;') FROM dual;
 unescape_reference 
--------------------
 hello < å
(1 row)

STRING_TO_RAW

该函数将VARCHAR2或NVARCHAR2字符串转换为另一个字符集,结果作为RAW类型返回。

语法

UTL_I18N.STRING_TO_RAW( 
 data IN VARCHAR2 CHARACTER SET ANY_CS,
 dst_charset IN VARCHAR2 DEFAULT NULL)
RETURN RAW;

参数说明

参数

说明

data

待转换的VARCHAR2或NVARCHAR2字符串。

dst_charset

目标字符集。

返回值

返回值

说明

RAW

待转换字符串在目标字符集的RAW类型表示。

示例

该示例展示了如何将VARCHAR2类型的数据转为RAW类型数据。

SELECT utl_i18n.string_to_raw('abcdef', 'utf8') FROM dual;
 string_to_raw
----------------
 \x616263646566
(1 row)

RAW_TO_CHAR

该函数将未在数据库字符集中编码的RAW数据转换为VARCHAR2字符串

语法

UTL_I18N.RAW_TO_CHAR(
 data IN RAW,
 src_charset IN VARCHAR2 DEFAULT NULL)
 RETURN VARCHAR2;

参数说明

参数

说明

data

待转换的RAW类型数据。

src_charset

(可选参数)指定导出RAW数据的字符集。

返回值

返回值

说明

VARCHAR2

未在数据库字符集中编码的RAW数据转换的VARCHAR2字符串。

示例

该示例展示了如何将未在数据库字符集中编码的RAW数据转换为VARCHAR2字符串

SELECT utl_i18n.string_to_raw('ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'UTF8') FROM dual;
 string_to_raw
--------------------------------------------------------
 \x4142434445464748494a4b4c4d4e4f505152535455565758595a
(1 row)
  • 本页导读 (0)
文档反馈